my boss turns it into an ordeal every time I ask him a question

A reader writes:

I’m a paid intern at a small technology startup. My boss wrote the entire codebase for our project; there’s no documentation, and also it’s my first time doing this kind of work outside a classroom. (I’m a woman in my mid 20s. My college degree is in humanities, and I had a totally different career for a couple of years before this; I took an intensive training course on programming over the summer, and have taught myself a lot.)

Naturally, I have lots of questions. Other programmers I know tell me this is normal even for experienced programmers; no matter how much you know about a programming language or framework in general, there are going to be quirks and requirements that are specific to a given project.

However, I can’t even ask my boss a simple question without it being a huge ordeal. Most times when I do, he 1) makes me play guessing games to figure out the answer instead of just telling me/pointing me in the right direction and 2) shames me for needing to ask in the first place. (I work from home most of the time and so most of the communication referenced here happened over email and instant messaging.)

Examples: I emailed him some code that wasn’t working as expected. Instead of saying “you need to fix X,” he said, “I saw the error just skimming over the code. Can you find it?” and let me flail about trying to figure it out for 15 minutes instead of telling me where to look. When he did point out what I’d done wrong, he added “that should have been the first place you looked.” It was one of those things that made sense once it was pointed out to me, but after poring over the code multiple times my brain just sort of lost the ability to distinguish what was going on, kind of like how it’s hard to catch all the typos when proofreading your own writing.

Earlier today, I had sent him a question about a new feature I was working on adding, and I had figured out most of it but had trouble figuring out what to do next. He messaged me an article to read and told me “this will show you how to do X to the Y.” I sent him a question in response that was basically, “So I should replace section A with B, right?” and he responded, “Read and understand first, then ask questions. :)”

I was really upset but just said “thanks” and logged off chat. I don’t know what to do about this. It would save both of us a lot of time if he’d just give me straight answers to things, and there’s no reason for him to be condescending when I haven’t even done anything wrong. He’s acting like I’m wasting his time by trying to understand the project and do a good job; I thought if I sent him an email demonstrating that I’d tried several things and asking for very specific advice, he’d be less of a jerk about it, but he just found a different thing to be condescending about.

What do I do? If I had more experience I’d apply for other jobs, and I suppose it can’t hurt to do that anyway, but I’m not very optimistic given that I don’t have a CS degree or any substantial experience in this field. I’d like to talk to him and explain that I’d work a lot more efficiently if he’d just be more clear about answering things–the work needs to get done badly, it’s not like they’re just making up stuff to keep the intern busy–but I feel like that just gives him an opening to be even more mean to me.

Have you considered that this is actually the behavior of someone who’s trying to teach you, both the actual subject as well as how to find answers yourself? That’s not a bad thing! It’s actually a very good thing, although I don’t doubt that it can be annoying at times.

You noted that you feel like your boss shames you and condescends to you for needing to ask questions in the first place, but that’s not how your examples are reading to me. They read like he’s trying to teach you how to find answers yourself and that he’s continuing to push you in that direction even if you resist it a bit. That’s someone who wants to help you grow. (It could also be someone who thinks you’re too quick to look to him for answers, but either way it’s the behavior of someone who wants to help you learn.)

I’d love for you to do a week-long experiment and see how you feel at the end of it: What if you resolve to totally drop your defenses around him for a week, deliberately decide to see his behavior during that time as as trying to teach and mentor you rather than as condescending/rude/annoying, and open your mind to doing it his way? It’s possible you’ll end up just as annoyed at the end of the week, but I think there’s a decent chance that when you purposely see his behavior through a different lens, this all might feel very different to you. You might still be annoyed that he won’t just give you the damn answer, but it might stop feeling mean.

Now, maybe I’m completely wrong and there’s more to this than what’s in your email. Maybe his tone is mean, or there are worse examples than the ones here … but based on what you’ve written here, my money is him just trying to develop your skills. That doesn’t mean he doesn’t sometimes take it too far, but that’s a different thing than being a jerk.

If you think I’m wrong though and/or you’re too irritated too try my experiment, you could also just ask him directly about his method. For example: “I’ve noticed that when I ask you questions, you usually prefer for me to figure out the answer myself even if you know the answer off the top of your head. I’ll admit that’s sometimes been frustrating to me, because often when I come to you, I’m out of things to try or my brain is exhausted from poring over code trying to figure it out for myself. Can you tell me a little bit about why you prefer to do it that way, so that we’re on the same page about how you see this stuff?”

I think you’re likely to hear that he wants to teach you how to solve these problems on your own — and that those skills will help you solve future problems (whereas if he just gives you the answer, he’s not helping you build the skills to solve things that come up in the future).

It’s up to you whether you like that style or not, of course … but I think you’ll be less frustrated if you see it as him coaching you rather than him insulting you.

Read an update to this letter here.

{ 511 comments… read them below }

  1. Dawn*

    Your boss sounds like he is wanting you to succeed at your job! Teaching can definitely come across as annoying, especially when you’re staring at code and going “WHY ARE YOU NOT DOING WHAT I WANT YOU TO DO?!?!?!” and in that moment it’s hard not to just want the damn answer instead of having to go back and learn it yourself.

    I think Alison’s advice to take a week of approaching it like a learning exercise is spot on. Also talking to your boss about his intentions would be super useful too because then you can get on the same page about how he sees your position now and how he sees it unfolding, as it seems like right now he’s investing a lot of time in working with you so you arrive at conclusions on your own instead of just spoon-feeding you answers which indicates he’s willing to put in his own personal time and effort to get you trained for success at this particular company.

    1. Stranger than fiction*

      I don’t know, I’m on the fence here. On one hand I agree he’s using teachable moments to some degree, but I’m also seeing him as using a sink or swim method with her that she may not be ready for. He’s getting free or cheap labor from her as she’s still learning, but treating her like a somewhat more experienced developer. Maybe I heard tech start up and immediately thought of my bf’s horrible ex boss that absolutely refused to collaborate or train in any way and his questions would be met with “what do you want me to do your job for you?” Even though he’s very much a self starter and learned that entire industry himself in just a couple months.

      1. Becky B*

        Yes! I thought of a colleague’s ex-boss, who when applied to about sending said colleague for training, would respond with, “Don’t you know that stuff already?”

        1. Jen*

          IMO this is someone who is trying to teach…in one of the most annoying ways possible. When I was a new developer, I accidentally took out my company’s primary website during business hours. I ran to my boss’s desk with my heart in my throat: me “THE WEBSITE IS DOWN GAAAAAH” him: “Yup.” (as calm as all get out) me: “DO YOU KNOW HOW TO FIX IT” him: “Yup” me: WELL ARE YOU GOING TO TELL ME?? him: “nope” – Went back to my desk. Forced my heart-rate down and got it back up in under 5 minutes, but I’ll never forget that. If anything I learned that he cared more about training me than screaming at me which was nice, but man….sometimes I would rather just be trained. ;-)

          Long winded way of saying I agree with Allison on this one – he’s employing a training strategy with OP that is harder, but definitely geared so you don’t ask twice.

      2. Bunny*

        Yeah, I can see this as an *attempt* to teach, but it’s lacking the basic grounding necessary to do that.

        At my current job, I’m partially responsible for training someone who is new to the field, and indeed new to having a permanent full-time job at all. We’re at the stage now where we are doing a lot more of the sort of thing where the trainee asks a question, and I will a- ask them to state their best guess based on what they believe to be correct or b- direct them to look at a specific aspect of the problem and state if they can locate the solution there. But that is after a couple of months where we’ve been a lot more direct in the sort of instructions we give. You can’t expect someone to learn how to find a location on a map if you’ve not taught them how to read a map. And you can’t expect someone new to coding to be able to find a problem in some code by just waving it at them and insisting it’s easy.

        Especially because “that should have been the first place you looked” isn’t actually a useful thing to say. “The teapot isn’t working correctly because the spout is clogged. I knew to check the spout first, because when you know the teapot has water in it but none comes out when you tip it, it’s usually the spout that is the problem.” is.

        1. Adonday Veeah*

          On the other hand, if you spent the afternoon dinking around with the teapot until you stumbled on the clogged spout, you would likely never again forget to look there first.

          1. JoJo*

            But is that the most productive use of your time? Especially since the problem could have been fixed immediately if the boss had simply told the employee to check the spout first.

            1. TootsNYC*

              It might be–if:

              -your boss was able to do many more-important things instead of helping you;
              -you learned that lesson so well that you won’t waste several hours in short bursts throughout the next several months
              -you learned a few other things on that journey (the things I learn when I’m trying to figure something ELSE out are really valuable!)

        2. stellanor*

          I think I’d get frustrated in OP’s position too, because by the time I get to asking someone how to do something I’ve usually exhausted my own resources for figuring it out on my own and I need an assist. Sometimes that assist is as simple as “The thing you want to do is called X, have you tried googling that?”

          I’m also someone whose style is very much not “just keep trying continuously until you get it”. If I do that I get stuck in a rut and can’t think of anything new. I have to walk away and try again later. That doesn’t work well if the task is time-sensitive, so I cope with it by asking someone else to help so I can get a fresh pair of eyes.

        3. qkate*

          Exactly. I completely agree that’s a pretty unhelpful thing to say, and it reads to me like: at best this guy thinks he is being an effective teacher but failing, and at worst, being kind of a dick.

      3. SystemsLady*

        Especially as an experienced developer myself, it is a field where it can get very easy to miss even the most obvious mistakes (you’re staring at the same code all day!).

        The boss could probably be a *little* more helpful about the “teaching moments”.

        Things like “did you check your semicolons?” rather than “I see it, can you?”. OP will still have to find and identify the mistake but has a general idea of what to look for. It really isn’t a good way to teach programming or inspire confidence in a newer programmer whose eyes are just a little glazed over.

        1. SystemsLady*

          Also, “boss wrote entire framework codebase and there is no documentation” throws up HUGE red flags for me. Though it being a startup I can kind of understand the former half.

        2. qkate*

          Agreed. The boss may have the right general idea–guide people to the answer rather than just telling them–but is executing it poorly.

      4. Underemployeed Erin*

        Yeah, I am afraid that she is having this type of experience. His questions are not very good. The first response where he says “I saw the problem immediately” and asking her if she can see it is just far too broad. If he narrowed her focus on a section of code or let her know what type of error to look for or even told her “if you look at the error messages here, you can narrow in on your problem.”

        I think that asking her to read a document is reasonable. If the document is not very clear or if it is using terms that she is not familiar with, then she should ask about those things to show him that she tried.

        However, I have run into some “god’s gift to management types” who want to have their cake and eat it too by having you work for way under market rate and also get annoyed if you are not working fast enough or accurately enough. If I am working for far below market rate, then you have to show up and not be accusatory and say “Oh you broke things, and I also want you to do X, Y, and Z.” You have to close the loop on what is broken, what I might not have understood, and how to go about fixing it instead of “You are not really trying hard enough to understand this project.”

    2. One of the Annes*

      Yes to “it sounds like your boss is wanting you to succeed.” I’m in a completely different industry, but this is exactly the approach my best mentor, in my first professional job in my field, took with me, and I am forever grateful.

  2. dancer*

    I have to agree with Alison. I’m a developer and this is the kind of back and forth I have had my TAs and senior programmers back when I was learning to code. I don’t want to bash on coding intensives, but the OP sounds pretty inexperienced and I find one of the ways inexperience shows is an inability to find errors in your own code. To me this sounds like the manager’s way of trying to develop the debugging mindset.

    1. Long Time Reader First Time Poster*

      Yep, another developer here. There’s almost never going to be somebody that you can go to that will just point out “oh hai here’s your error, just do x instead of y and you’ll be all set!” — you are ALWAYS going to have to dig around and figure things out yourself.

      When you don’t know how to do code something, you’re always going to have to google… read blogs and posts on stackoverflow… dig thru really boring documentation… and experiment.

      Real coding is nothing like taking a bootcamp course where you get all the answers and a grade. I honestly think your boss is doing you a favor.

      1. Stranger than fiction*

        True but what stood out to me was her example where she read the article he provided and simply asked for clarification what she got out of it and he barked back for her to read it who she already had.

        1. Elsajeni*

          Yeah, both of these examples sound to me like they could be good teachable moments — but also like the boss is assuming the OP hasn’t done any troubleshooting/reading/trying to understand on her own before asking him, when she actually has done at least a bit and is at the point where “Looks like the error has to do with the teapot variable” or “Why not try it — you know how to use the test system, right?” might be a better teaching move.

          On the other hand, I also imagine the boss’s perspective might be that, hey, he’s busy! And he’s not running a coding class, he’s running a business! So he’s not super concerned about whether his “teachable moment” efforts are maximally helpful — as long as the problem eventually gets solved, it’s okay with him if an intern spends some time being frustrated and unhappy about struggling to solve it. I think the “Read and understand first” line is still jerky, but on the whole, I think Alison is right and the Week of Assuming The Best will probably help.

          1. Just another techie*

            Well it sounds like OP has trained her boss to assume she hasn’t done the reading because. . .she hasn’t done the reading! She runs to him as soon as she encounters a speed bump and wants The Right Answer Now. After enough back and forth like that you can’t really blame him for assuming she just Wants an Answer, Any Answer. She’s going to have to spend some serious time (more than a week) demonstrating that she’s willing to do some debugging and sleuthing herself first, and eventually his assumptions will change.

            1. Elsajeni*

              I don’t see any evidence that she hasn’t been doing the reading or putting honest effort into debugging on her own, though. In her first example, about the code that wasn’t working, she doesn’t say how much time she spent on the problem before emailing, but does refer to being stuck “after poring over the code multiple times”; in the second example, about the article, that sounds like a question she asked after reading and understanding the article, to confirm that her understanding was correct. I saw some folks downthread suggesting that she start including “So far I’ve tried a, b, and c, and gotten x and y results” in her questions, and I think that’s a great idea — if nothing else, it will clear up the difference between “Boss is assuming she hasn’t done due diligence” and “Boss knows she’s done some, but thinks she should be doing more” (and, if she really isn’t doing enough digging on her own first, knowing she should be putting at least a couple things she’s tried already in her question may help her push herself to do more as well).

        2. Ryan*

          Depends on the question – if the answer would have been immediately obvious to anyone who had read the article, I think the response of “read the article”, while a little impolite, was perfectly fine.

        3. Quirk*

          Copying and pasting code from a third party which you understand intimately and are alive to all of the implications of (up to and including licencing, etc) is a permissible thing to do.
          Copying and pasting code from a third party without understanding exactly what it does is a Sin from which a multitude of bugs flow, and your fellow developers will ostracise you.
          If you have to ask the question, “should I…?” you are likely committing the Sin.
          “Read and understand :)” is terse but kinder than ten minutes of lecturing you on why you should never add a line to the codebase without being confident that you grasp exactly what the import of that line is.

    2. steve g*

      I only use vba so I’m not a “coder” per se….but aren’t there things that are just not learning moments?? for example, if I did a vba witha vlookup, and just did it off of the wrong column, and I didn’t notice but you did.

      If I put a bunch of hard references (or whatever you call them…for ex end at row 356 because that’s how many rows are in there now, vs using a “end at the scrolll down offset -1” type statement)…I’d see something like that as a learning moment, or “one to live by” as they used to have during saturday morning cartoons – but I’m not sure what the value is in forcing someone to spot simple typo-type errors others easily see. I wouldn’t think we’d put a writer through that sort of rigor.

      1. dancer*

        But a big part of being a coder is being able to find your own mistakes. Sure eventually you’ll hit a point where you need a second set of eyes, but especially with someone inexperienced I find they tend to ask for help more quickly; there’s value in teaching them how to find things like typos by themselves. Spending 15 minutes to figure something out (as per OP’s letter) really isn’t all that long. And unless you get experience finding your own mistakes you’ll never improve… Someone pointing outa typo will not help with that skill set.

        1. BuildMeUp*

          The 15 minutes was only after she contacted her boss, though, who didn’t really give her any specific feedback. We don’t know how long she was looking before she asked for help.

          1. dancer*

            Sure, but the part of the letter that stood out to me was the OPs inexperience. Taking a course for a summer can teach you how to code for sure, but debugging skills tends to come from experience. So I’m coming at this with a dirty lens, but when I work with less experienced programmers I find they jump to asking for help without I would consider adequate debugging. And being given answers in no way helps develop those debugging skills.

            1. videogame Princess*

              True. I’m an econ major who has gotten into coding since June, and nothing would have been less helpful to me than to point out how to fix things right away. The more you practice at debugging, the faster you’ll be. If you start out really slow, that just highlights the need for practice.

            2. Marcela*

              It’s possible. But do we know she was given those debugging tools or told where to find them? No, we don’t. And being a woman developer, I’ve been in the position where no matter my question, even a simple “am I understanding correctly that you want the code to do X, not Y”, I get some version of “read my email/instructions/whatever first and then ask questions”, instead of “yes, I want that”, because the problem is not the code but the specifi preference of the person in charge, something not even the best tool can guess.

          2. sunny-dee*

            Yeah, but he didn’t let her flail indefinitely … he gave her a chance to locate the problem, then pointed out where it was and said that’s the first place to look for that kind of issue. That’s a really short time investment for training.

            And, just to point out, we don’t know how long she looked. If the OP had wasted 5 hours on it, that’s one thing. If it was, like, 10 minutes before she emailed, then that goes back to Alison’s other point — that he may feel she runs to him too quickly about issues instead of addressing it herself.

          3. Clever Name*

            Honestly, taking 15 minutes to find one own’s error is nothing. My husband has been programming avionics and flight software for the Air Force and NASA for close to 20 years, and he will sometimes take days to debug (find errors) in his own code.

            1. Marian the Librarian*

              I was going to say the same thing–my husband is a physicist and often takes days to debug his own code as well.

              I also read OP’s bosses behavior as an attempt to be helpful. OP is an intern, and if boss hired her he knows she’s inexperienced. Honestly, telling OP where/how to find the errors in her work may speed things up for both of them, but it won’t be useful to her in the long run (as others have mentioned, debugging skills come with practice). Unless there’s something going on we’re not getting in this letter, I feel like this is actually an awesome boss who’s taking extra time to teach OP (and allowing OP to take extra time producing her work to learn the skills she’ll need for future jobs).

              1. TootsNYC*

                Well, it may not speed things up for the boss–he had to divert his attention/energy to deal with her problems in the code. If he could have stuck to his own tasks, it would have been faster FOR HIM, even if it took her four days.

            2. Nashira*

              I’m taking an x86 assembly course from a professor who does the kind of programming your husband does, and the feedback I’ve gotten makes it clear my prof approves of students who will beat their heads in debugging. I mean, I spent hours to figure out one thing was borked because I used 10 decimal instead of 10 hexadecimal, and he was like “yup, that’s normal.”

              Debugging can be frustrating but as a student coder, I honestly feel like it’s the most useful thing I’m learning. Syntax is easy to pick up, but deciphering incomprehensible compiler or assembler errors is hard, even with the Googles and Stack Overflow. I’m still all excited that I convinced my antivirus that one accidental infinite loop was a trojan, earlier this week. Even if it took me 20 min to get my project back from quarantine and my registers are still giving me sad looks

            3. SystemsLady*

              This is very, very true and why I wouldn’t assume it’s always just the OP being inexperienced.

              Getting used to this is part of becoming a programmer, though, I’ll also throw that in.

            4. Treena*

              Yes! My husband is a web developer and he’s spent days trying to figure out what’s wrong with the code for one tiny function of one page of a website. He’s the lead so there’s no where for him to go to for answers (and this was also true when he wasn’t lead). His bosses are CS people but don’t do his job, so they can’t look just at code and edit his work. If something doesn’t function the way it’s supposed to, he spends hours and hours of tweaking, googling, researching until it’s fixed. No shortcuts, no answers, that’s just how the field works.

        2. Windchime*

          Part of being a coder is definitely being able to find mistakes; however, if we were all able to find every mistake, we wouldn’t need a testing/QA team. I agree that the OP should be encouraged to find her own mistakes, but there comes a time when you’ve been looking at the code for so long that it’s impossible (or nearly impossible) to find the mistake. You literally can become blind to it.

          So I am on the fence. I think that Alison’s advice is good; try to see it as him being helpful and encouraging you to do research on your own. But I think he could also be a little more compassionate and helpful when you’ve reached the point where you just cannot see the answer. I’m guessing that the fact that you’re working remotely isn’t helping, because neither of you are able to see body language or expression.

        3. Tau*

          I’m a pretty new coder and I really, really try to avoid asking for help on bugs, because – like you say – being able to find and fix them is a huge part of programming. And it may take half an hour or several hours’ frustrated Googling and searching Stackoverflow, but usually I manage – and can then pat myself on the back for having figured it out myself.

          The areas where I’m willing to ask questions tend to be things a la “so I could do this in X way or Y way and I can see the pros and cons of both, which would you say is best practice?”, which are less “please fix this for me!” and more “this is not a clear-cut matter of right and wrong and I genuinely don’t think I have the experience to assess this.” Although a bit of Googling around can help there as well to let you see what other people think.

        1. SystemsLady*

          I always have to clarify “I know VBA” does NOT mean “I like to code in VBA”, lol.

          1. Steve G*

            Ha! I don’t care if I like it or not, I just coded two reports that took 1 1/2 days per week, and I still work too many hours. If I had to do them by hand, I’d be utterly stressed and swamped. God bless VBA!

      2. TootsNYC*

        But the pain that comes with having to find your own simple errors is part of what makes you less likely to MAKE those simple errors in the future. You create your own “negative reinforcement.”

        I work as a copyeditor, so we find the typos for our writers. But that’s because it’s simply more efficient, and efficiency matters.

        Our OP is an intern, and her boss apparently is less worried about being efficient, and more worried about developing her skills so she can be even MORE powerful for him in the future (and, because he apparently takes the word “intern” seriously).

        If he were all that worried about efficiency, he probably wouldn’t have chosen her as an intern; he’s find someone w/ a little more experience.

        1. Tau*

          The bug I’ve had the most trouble hunting down so far, causing hours worth of frustration and going through a debugger line by line going “but everything looks fine why isn’t it working?!?” was caused by, effectively, a typo: basically, I’d called something “Teapot” in the database but “Teapots” on the website.

          Not a mistake I’m going to be making again anytime soon!

          And if someone had walked past after five minutes and told me “see, here, it’s Teapots” I probably wouldn’t be able to say that now.

      3. Not The Droid You are Looking For*

        Um…as someone who used to manage a team of writers, I definitely pushed back on questions and returned drafts that clearly hadn’t been self-reviewed.

        1. myswtghst*

          Editing is only a small part of my job, but I’m so grateful my boss encourages me to return docs un-edited when my coworkers clearly have not even looked them over.

      4. themmases*

        Oh, I disagree. I code in SAS (and I consider that real, though usually simple, coding, and VBA too) and a big part of my first formal course on it was just troubleshooting with the takeaway that very often, the error will be that you are missing a semicolon.

        My instructor had us customize our setup so that whenever we submit code, the view is switched to the log first and we have to manually click over to see result output. I still use those settings today to do real work and would never have it any other way.

        Fixing typos can be the most time-consuming thing ever if you actually go research them, because there is nothing wrong with your code but a missing character or something and you will most likely never find the answer.

        1. Steve G*

          Oh I took SAS for Statistics in college and it was the WORST. I don’t remember ever getting anything to work. At least VBA you can record and modify parts if you don’t know how to do them!

        2. Nashira*

          Have you seen the horrific joke about replacing semi-colons with Greem question marks? Missing or wrong punctuation will be the death of me one day, a bit at a time.

    3. StarGeezer*

      Having inexperienced coders figure things out on their own can be a good learning experience, but I give the OP some latitude since “there’s no documentation”. When I have to debug someone’s code and it’s undocumented, I WILL be bugging them about “What the hell is this routine supposed to be doing anyway? It’s 2000 lines of code and all it does is return a null pointer – every time.”

      OP – Don’t follow your boss’ example. Document your code!

      1. Kyrielle*

        And actually, if you have to change his code and you have to figure it out to do so, you might consider documenting what you figure out in it too! That way, six months or a year from now, someone else (or you if you stay on in a more permanent role!) will have more to work with and less to puzzle out.

        1. TootsNYC*

          And, you will have an achievement you can point to when you go after another job.

          Plus, creating that documentation is a tremendous learning experience in itself!

        2. steve g*

          I’m not sure how other programs work but in vba the “documentation” can just be notes in the actual code if you begin the sentence with a hyphen. It then changes color to make it stick out.

          Not sure how it works with other programs but just wanted to point that out as when we usually say “documentation,” we mean a written doc in paragraph form

          1. Kyrielle*

            Yes! True, in this case I mean “comment the code”. (Pretty much every programming language I know has some variation of this; all that changes is the punctuation used, and possibly how you end the comment (end of line vs. special end punctuation).)

            1. Steve G*

              Yup just wanted to clarify that “we” aren’t talking about writing separate SOPs or flow charts or whatever. This is one area where coding is easier

          2. SystemsLady*

            For me comments in code count as documentation. Subpar documentation for large projects (nothing that would be done in VBA…hopefully) because you can easily use doxygen and the like, but better than what I usually see…

      2. themmases*

        I agree, a big reason this story doesn’t sound like a wise boss mentoring a new programmer is that the boss’s own work sounds lazy. I can *maybe* see not commenting code that you were confident no one else would edit or use, although even then don’t you think you’ll want to describe what you did for a supervisor or reuse a part of it someday? Not documenting code that others will work on is just lazy and failing to do half your job.

        I would guess that OP’s boss doesn’t know what is going on with these random bits of code off the top of his head, and since he never documented it he can’t even look it up to jog his memory. Playing games with the OP is teaching *and* CYA-ing.

        1. JAM*

          That was my take too. My husband is the mentor from the team and he’s taught me some basic coding so I get the “find your own mistakes” thing but I also get the vibe of someone who has the skills but not the discipline to make his own code easy for others to interpret. That makes me wonder just how much mentoring he is providing versus just assuming people know what he is thinking.

        2. meh*

          Most software has sparse comments and lacks complete documentation. Software is developed under time pressure and requirements frequently change during the development process. In this environment, comments are often a luxury and those that are present can even be stale and misleading, describing what the code did in a previous version but not the current version.

          The OP needs to learn how to understand what the code is actually doing. Code that’s being compiled and executed always describes what the program is actually doing in a way that comments cannot. Even when present, you can’t trust what the comment says. Moreover, good code is largely self-documenting, at least to those practiced in the art.

          I also highly doubt that somehow who wrote their own codebase has forgotten what various random bits of code do. I still have a pretty good mental map of the major parts of every project I’ve ever worked on.

          1. AnotherAnon*

            “I also highly doubt that somehow who wrote their own codebase has forgotten what various random bits of code do. I still have a pretty good mental map of the major parts of every project I’ve ever worked on.”

            You are really, really in the minority there. Most people won’t have a clue what code from a year ago was meant to do. I’ve done it myself, and I’ve seen friends do it too. Comments that seem perfectly sensible at the time become cryptic and baffling once the context is forgotten. If you’re not cursing your past self for crappy code, you probably haven’t improved much ;)

            1. meh*

              I curse my past self for crappy code all the time. But the code is structured so looking at the data structures and the method/function/variable names, I can usually reconstruct the intent fairly quickly.

              There’s a difference between cursing your past self because you made an unstructured mess, and cursing your past self because your code was inadequately tested or its design was overengineered, incorrect, or incomplete. The first is avoidable. The second is never-ending.

    4. Kyrielle*

      I agree – and it sounds like he’s doing something I would, unfortunately, do (and have done and had to correct) – forgetting that what’s easy for an experienced developer to spot can be downright impossible for someone who’s new to it. “Read this and find it” or “It should be obvious” aren’t as helpful as they think it is, but I do think he’s trying. And in some cases “I’m sorry, I really don’t get it; can you give me a clue where/what I should be looking at?” might be a good follow-up question.

      Because if “it should be obvious” is an infinite loop, then a reasonable clue would be, “Do all your loops terminate?” or “Are you using a ‘while’ when you should be using a ‘for’?” And that will tell you where to focus your attention but still leave you some debugging/puzzling out to do.

      You might also approach him and say that you’re very new to this and having a hard time, are there any resources he could recommend for *ways* to approach debugging/figuring it out. (Sadly, I don’t know any resources – I’ve picked them up over the years – but besides code reads, actually debugging and logging, sometimes extensive logging, are some of my favorites.)

      1. dancer*

        That’s a good suggestion for follow-up questions. I think that might be the best solution here.

      2. Karowen*

        I think it would also help to go into it telling the boss what she’s already done. It reads to me like she’s tried to do some debugging but can’t find it, then going to the boss with “there’s an issue, don’t know what it is” who is responding with “well, you should try to find it.” By going in with some verbiage like “I’ve tried to find the issue by doing xyz but can’t figure it out, can you give me any hints?” the OP would probably get some more helpful insight than “try doing that thing you’ve already done.”

        I could be wrong, and the OP could be defaulting to relying on the boss rather than figuring it out herself, but if she starts framing her conversations like this then it’ll force her to troubleshoot on her own.

        1. videogame Princess*

          +1 This is golden, and I can’t think of how many times I’ve tried to explain an error to someone over chat or email, realized something I’ve forgotten, then stopped asking. On the other hand, she already said “I thought if I sent him an email demonstrating that I’d tried several things and asking for very specific advice, he’d be less of a jerk about it, but he just found a different thing to be condescending about.” Of course, the examples she provided weren’t really jerky, so maybe he was just pointing out paths she hadn’t explored yet. She might just be dealing with the struggle of being a new programmer and experiencing the anxiety and frustration that comes along with that, and then projecting it onto her boss.

        2. another IT manager*

          “I’ve tried to find the issue by doing xyz but can’t figure it out, can you give me any hints?”

          +100

          Not a coder, but this makes it so much easier to point people in the right direction for basically everything. It tells me that you’re trying (and how hard), and depending on the XYZ, it helps me know if you understand the (probable) cause of the issue, or if you’re flailing.

        3. Oryx*

          This is what I do when I call tech support. “I’ve already done XYZ and it’s still not working, so what’s the next step?”

          1. Stranger than fiction*

            Haha I always end my questions to IT with “…yes I already cleared my cache and rebooted!”

            1. Chinook*

              For me it is calling tech support and telling them how many ways I have tried restarting each connection in the chain of machinery that I need to watch tv.

  3. TootsNYC*

    I had that exact same reaction–that these are all things designed to help you learn. And of course, it’s over chat, so he can’t use an encouraging tone of voice to moderate it. And chat sort of encourages a shorter sentence structure/paragraph.

    Figuring out stuff for yourself is THE most powerful way to learn.

    In this:
    “Read and understand first, then ask questions. :)”

    See that smiley? He’s telling you that he’s not mad, but he’s also telling you that he expects you to invest some mental time seeing if you can figure it out for yourself. You’re an intern, so maybe he thinks you should learn out of this.
    I’m curious about how fast you sent the question, because if it was a quick response from you, then I think his response was completely appropriate.

    1. Bend & Snap*

      This. Exhaust all your learning options, including teh interwebs, before approaching your boss. If you have coworkers to gut check things with, that would also be a great first stop before going to your boss as long as you’re not asking them incessant questions.

      Learning to find answers for yourself is a critical skill in the workforce and your boss is working on teaching you early. This is a good thing.

      1. SevenSixOne*

        I will happily teach you how to fish if that’s what you need, but I’ll be pretty annoyed if you just expect me to give you a fish, you know?

        If you say “I can’t figure out _____. I looked it up in [manual or other training document] and Googled [description of problem], and I’ve been doing [similar task] all day with no issues. Help!” I will bend over backwards to help you because you’ve clearly made an effort to solve the problem yourself. But if you just say “I can’t figure out _____” and you clearly haven’t even TRIED to solve it yourself, I’ll probably just say, “…and?”

        1. Hermione*

          >I will happily teach you how to fish if that’s what you need, but I’ll be pretty annoyed if you just expect me to give you a fish, you know?

          An additional note here is that I will also happily give you fish if, after casting your line carefully all day, you don’t catch one on your own, but don’t expect me to filet and lemon-braise it after 10 minutes on the boat, yeah?

        2. Z*

          Yes, I had a boss who communicated like this with me and I eventually learned to let him know what I had done so he didn’t think I was being lazy in asking for more direction.

        3. _ism_*

          One of the things I agreed to do when I was hired was build documentation for existing processes that are not well-documented (or documented at all). I’ve been building documentation for things I’m just learning, as a result. That in itself is not a bad thing.

          However, sometimes I need clarification or more details as I learn more about the intricacies of our procedures and how they affect many different departments besides the one I’m working in. My boss is having me build documentation on how to complete a task, as well as completing the task itself, as well as being implicitly expected to train anyone else who might need to know. (We don’t really have an organizational structure or job descriptions, so it’s kind of a free for all. I’m building documentation with the assumption a new hire knows NOTHING and is going to be depending on what I create)

          When I run into a problem with a task, I ask my boss for help or clarification. I get the same kind of response as OP, but it’s my own documentation (or some scribbles and crumpled papers I was given on my first day here). I respond by telling her what I did (basically copy/pasting the procedural documentation) and the unexpected result I’m getting, or the information I’m missing.

          Many, many of my notes from our mentorship sessions are littered with verbatim quotes from her like “ask me about this later, you don’t need it right now” and “this isn’t important for you so don’t worry about it.” Inevitably, the missing info become necessary as my responsibilities are being increased. So what do I do? I ask her. “I need this info now. You said I didn’t need it then, and you didn’t give it to me. Can I have it now?” And her response is always the same, stretched out into yet another two hour “mentorship session” where she repeats a zillion different ways that I should know this by now, I should consult my documentation, and that my need for information she once deemed irrelevant is really annoying and I should have been more proactive about getting all the info up front.

          Now these are complciated procedures that have takne me over a year to document and I realize I’m going to have to add to the documentation as an ongoing job responsibility – for my own tasks and the tasks of people who follow my docs. What am I supposed to do? I just get scolded for not having all the info already, but when something new is presented to me, I also get scolded for “overthinking it” and “asking irrelevant questions” and “focusing too much on the details, just get it done.” She responds condescendingly as if this really is something she gave me all the info I need ages ago – and she never does.

          The only way I get new info to refine my procedures is by making mistakes. If I try to be proactive and anticipated needed info or potential snafus, I get shut down completely and told my documented procedure isn’t important. I refer to my own documentation all the time so I feel stuck between a rock and a hard place. This lady really has put in a lot of time mentoring/teaching me, but it’s still ongoing. She acts as if I should just magically know everything already because I’ve been “keeping track,” which again, was compiled from scribbles, post-it notes, old emails, and her own words of “this isn’t important, don’t write this down.”

    2. Nina*

      Oddly enough, the smiley face stood out to me, too. Emoticons are usually innocuous, but I think he’s aware that his answer could sound dismissive or harsh so he’s trying to tell you that he’s not mad you asked, he just wants you to try to figure it out yourself.

    3. videogame Princess*

      My rule of thumb is that I should not ask if a procedure is correct, before I try the procedure in the code and make sure it works. It is very hard to do, but it saves everyone a lot of time and provides a good learning experience in following directions found online (which is something programmers do a lot!)

      1. TootsNYC*

        I should not ask if a procedure is correct, before I try the procedure in the code and make sure it works. It is very hard to do

        I would venture to say that this isn’t hard at all!

        In fact, coding is SO great because you can test for yourself.

        Is this the right thing? Try it and see–that’s much less effort than you asking him, and him stopping what he’s doing to tell you.

        Plug it in, run the code, see what happens! No, it wasn’t the right thing, since it didn’t work.
        But you thought it was the right thing? Make sure you plugged it in right.

        Coding is like that Fisher-Price Pop-Up Farm–push a button, see what happens. It’ll show you!

        I’d be mad, actually, if you asked me, “So should I do this?” TRY “this”; then you’ll know. I’m busy.

        1. SystemsLady*

          For a sufficiently complex codebase (especially an undocumented one) or where there are standards I definitely disagree. I would rather somebody ask.

          1. Llywelyn*

            This. For a lot of sufficiently complex codebases, without documentation, without automated testing, and especially in an immature organization it can often be *quite* difficult—if not nearly impossible—to test yourself.

            This is discounting the really nasty subtle bugs that can crop up in sufficiently complex systems, particularly those that were not well constructed.

            Recently I made a set of changes that had a resulting bug. To find the bug you had to:

            * Check out a particularly constructed artifact that isn’t built in a standard way and can’t really be built on your local box.
            * Run that code at a particular entry point, since none of the others manifested it.
            * Know *how* to run it at that particular entry point, which is what we call “well documented” (aka you can find the documentation on this particular entry point at the bottom of a well somewhere).
            * Not run it from your local box, since it was a dependency issue and your local box would have the dependencies in place automatically but the servers that manifested the problem didn’t due to the way their (archaic) deployment works.
            * Pay attention to the logs.
            * Not those logs, these other logs.

            Oh, and did I mention that there was no reason to think that the entry point in question would be unduly affected by the change? So you aren’t as likely to test it vs. all of the other entry points…

            Now, this is an example of a case that (once identified) is not that difficult to test yourself… assuming you already have some mastery over the build and deploy pipeline (which is its own beast).

            A lot of problems in complex, legacy, distributed systems are much, much more difficult to wrap your head around than “try it and see if it works.”

    4. Koko*

      Man, that one was the one I thought sounded the most offensive. The OP had clearly already read, because he ventured his idea of what he thought the solution would be. He just wasn’t sure of himself and wanted some reassurance that he had indeed correctly interpreted the document his boss provided.

      Especially when it comes to coding that’s going to be in a live environment, where there might be unforeseen edge cases that cause unpredictable results if you didn’t perfectly understand the nuances of the explanation, it seems totally reasonable to me to get a second set of eyes on the code just to verify that you understood. Once OP has already read the explanation and offered up a potential solution, it’s very unhelpful to just tell him to “read and understand.”

      1. Marcela*

        Absolutely. For me that’s the most condescending part. It’s not helpful to tell me to understand. If I could do that just by sheer will power, oh, I would be millionaire now. And even more, no matter if you are a newbie programmer or a super wizard, code is not like a novel where you read linearly and just by paying attention you get the full plot. Complex codes have thousands or million of lines of code, most of the time in different functions, libraries and files. How can someone new to the project just read that and understand when every single bit is executed and under which circumstances, so they can easily know how to test it and how to find a bug? Impossible!

      2. Ellie H.*

        Me too. I mean the OP is essentially saying he took the boss’s advice exactly (read the article, worked on the problem with that new information) and is just asking for confirmation that he gleaned the correct information from the article, and the boss is replying as if he didn’t at all. I could be misunderstanding and he wrote the “A with B” email before reading the article and trying again though. I honestly find “Read and understand, then ask questions :)” incredibly condescending and unprofessional language even for a casual work environment, even if the intent of teaching/mentoring behind it. The OP is an employee not a student taking a course.

        1. Nora*

          I agree with you that the language the boss is using is condescending. Saying something like, “I think the article will answer your question, but let me know if you’re still confused” would change the situation entirely.

      3. Chinook*

        “The OP had clearly already read, because he ventured his idea of what he thought the solution would be. He just wasn’t sure of himself and wanted some reassurance that he had indeed correctly interpreted the document his boss provided”

        Having been on the teaching side (only with English literature instead of coding), I am wondering if the OP’s interpretation was so off base that the boss was thinking that she didn’t read the article? If it were me, I would go back and reread the article out of spite and either a) send the exact question back with proof from said article to back my question or b) realize that I had a basic misunderstanding of what I read. Not having read the article or seen the OP’s question, it is impossible for me to tell.

      4. copperbird*

        Actually you don’t know that. They may have just skimmed the first paragraph, and the boss could tell because the question was superficial.

        OP, I just wanted to share that in just about every job I have ever had (and I was a female coder before I switched career) there has been a point where I have thought “Argh, why can boss not just answer my question/ do this small task instead of getting me to figure it out – it would save us all so much time!” — but when I stopped feeling angry, grit my teeth, and did it, it was either a) a useful learning process or b) a pointless waste of time but at least it got done.

        In 6 months time, you will also be able to look over your code and find the obvious errors quickly. The things that look like magic when your boss does them will become second nature. But first you have to get over the annoyance and work on trying to go to him with suggested answers or really focussed queries rather than vague appeals like ‘why doesn’t this work?’

        If you learn well from reading, I’d also suggest asking him for reading suggestions. There are some really good books on coding and debugging (eg. Code Complete) and he may even have some copies you can read.

    5. Stranger than fiction*

      Yeah but she already had read it and was trying to clarify. Maybe she’s not giving it enough time to absorb?

  4. Lapsed Academic*

    Admittedly, this is how I taught ALL my students. The issue is, I found out at some point that they retain what I teach them better of they have to figure it out for themselves. Because otherwise, I know that I will get the exact same question from the same person again a few days later; the details could be different, but the essence the same.

    I will also say I taught all my students in a lab setting (either group or one on one), so I was actually available to them in person to point this out. I know I frustrated a lot of them, but I got feedback often that this teaching style actually enabled them to learn better and get their work done easier in the long run. My goal was to make them into functional lab workers, not into my puppets who needed instructions for everything.

    (I hate smilies, but I used to have a boss who used them as passive-aggressive tools in emails, so I know I’m not rational about them.)

    1. Log Lady*

      I don’t know why, but I always read :) style smilies as passive aggressive as well. I never had one single person use them at me, but every time I see one, I feel on edge like, “Oh, oops, okay, you’re really mad.”

      1. Carmen Sandiego*

        For me it’s a “consider the source” thing. Definitely passive-aggressive from some people, but in my industry (creative) we tend to throw them around like commas. Which either feels warm and fuzzy or really annoying, depending on who you ask.

        1. Lapsed Academic*

          I agree. I use them with my friends no problem, but in a professional setting they always put my back up. But again, I’ve had some really really bad experience there, so I realize I’m not rational about it.

      2. Stranger than fiction*

        Me too it’s like the emoticon version of “just sayin” when it comes after a snarky sounding comment

    2. Manders*

      I think the difference between the lab setting and working from home is what’s causing a lot of LW’s frustration: you knew when students first started to struggle, but LW is only going to her boss after she’s already spent time trying to fix the problem by herself. Flailing about for 15 minutes isn’t that unusual–but if she’s regularly spending much more time than that on debugging, I can see why it would be frustrating to be repeatedly told to do what she’s already done.

      LW, would it be possible to work in the office with a more experienced mentor for a while? Maybe you need someone keeping a closer eye on the amount of time you’re spending trying to fix these problems, instead of only speaking to your boss when your nerves are already frayed.

      1. TootsNYC*

        “Flailing about for 15 minutes ”

        And I might say, thinking as a teacher: 15 minutes isn’t that long, and flailing isn’t a good mindset to use or an effective mode to be in.

        Spend 45 minutes being methodical, from the top.
        And make a note of how you got there, which language/subroutines are triple checked and safe. And whether there’s any other little quirk that makes you say, “aha! That’s an indicator!”

        (example from copyediting & the English language: if I have trouble deciding which punctuation to use, that’s a major clue that the underlying sentence need to be completely reapproached. I’m certain there are similar sorts of things that happen in coding.)

        1. themmases*

          I was thinking the same thing. Coding and troubleshooting can be really frustrating and induce flailing. I like to keep a narrative work log with the steps I took and the reasons, any process output, and *short* pieces of code or queries. It helps a lot. If it starts to feel too hard to explain what I’m doing in the log, or like I’m tweaking a process over and over too fast to bother documenting each fix, it shows me I’m getting too frustrated to keep working on this. Time to get up, stretch, get some coffee, maybe switch to a task that uses a different part of my brain for 15 minutes. The extra documentation is a bonus.

          I would recommend that the OP find or steal a heuristic for troubleshooting that helps them avoid or at least notice flailing. That will also make it a lot easier for them to confirm that they really have tried everything they can think of and explain to their boss what they did. And it can help make the feedback feel less personal.

          Ultimately troubleshooting on your own can be a more efficient way to solve some problems than always asking questions or going to the documentation. As a new coder I really needed to get used to the idea of submitting code that might not work (or that I knew wouldn’t work, just so I could read the error) and internalize that I wasn’t going to permanently break anything.

          1. meh*

            This is really solid advice. Two bits to add:

            Debugging most code is really a cycle of: state assumptions, test assumptions, find where assumptions break, determine why, fix. When you start feeling frustrated, you can approach this cycle mechanically just to get you started: write down your assumptions and how you’d test them, then do it. If the fix isn’t apparent, it usually means you haven’t stated or tested all of your assumptions, so repeat the cycle. For tough bugs, taking an almost mechanical approach really helps reduce frustration. As you get more experience, you’ll develop intuition and you can take short cuts a lot of the time, but you’ll occasionally encounter bugs that take days or weeks to track down. That feeling of flailing comes back, but if you develop a disciplined approach to debugging, you can always fall back on it, which removes the feeling of panic from a task that’s really just a matter of applying cold, systematic logic.

            Also, one effective way to minimize debugging is to develop tests for the code while you’re writing it. You want tests that fail fast and close to the error. Both unit tests and simple in-code assertions work well for this, and most languages have testing frameworks and “assert” mechanisms that aborts if a condition is not true. The faster you hit a problem in the logic, the easier it is to fix it.

        2. fposte*

          I think the being methodical point is a really good one; having a procedure in place that you follow instead of flailing seems pretty helpful. I don’t know enough about coding to be able to judge, but is it plausible to set up a go-to checklist of things to consider and things to examine before you ask the boss?

        3. Marcela*

          But we don’t know if she only spent 15 minutes looking for the bug, only that between the first question, when she said the code was not working as expected, and the boss telling her where to look, there was 15 minutes.

          1. Chinook*

            “But we don’t know if she only spent 15 minutes looking for the bug, only that between the first question, when she said the code was not working as expected, and the boss telling her where to look, there was 15 minutes.”

            This is a good point. The boss may have assumed the OP didn’t read the article because it only took her 15 minutes to read it, make her assumptions and test it out. Unless it was a very short article with an obvious answer, I can totally see him jumping to a conclusion that would sound condescending if the OP really does work that fast.

      2. Lapsed Academic*

        Actually I only know when my students struggle because they come by my bench or office and flail…. When I find them brooding over something I sit down with them, it’s like with small children: If you don’t hear anything for too long you know something is up.

        I agree in general, and as I said the setting is definitely a different one. But I can see myself in some of the boss’ pointers, and I’m finding myself re-evaluating whether I didn’t frustrate someone excessively. (Some frustration I count on, it’s part of the learning experience and it makes them remember better.)

        I don’t know enough about coding to be truly helpful, I’m from a wet lab.

      3. Stranger than fiction*

        You really touched on something there – Op is remote. I’m wondering how often she gets to have meetings with the boss and/or team?

  5. Shannon*

    Totally agree with Allison. As a manager, I try to push my team to think beyond me for an answer. It seems like your manager is trying to help you build your capacity and giving you the space to look for answers and methods beyond him. I think that’s an amazing opportunity. Someone who doesn’t want you to grow isn’t going to push you to think deeper and send you articles as helpful tools. I’d seriously consider doing Allison’s experiment, I think it will help you a lot.

  6. Sharon*

    Not to bash the OP but I tend to side with her boss given her descriptions. She spent 15 minutes trying to figure something out? Let me tell you, over a 25+ year career, that’s an ideal scenario. I once spent three solid DAYS with a printed report and a hand calculator next to the computer screen, stepping through the debugger one line at a time to try to figure out why the report totals were wrong…. and finally found that a user had entered a question mark into an invoice line item price field. Things like this happen all the time in the programming world. You need to learn patience and tenacity. It’s not fun, but if it helps, think of the war stories you’ll end up with (like mine here)!

    The punchline to my story? The idiot programmer who didn’t validate the price field was…. me. LOL! I was better at making sure all fields were validated after that!

    1. Christy*

      Yes! It’s really annoying to get there (I’m still getting there) but we NEED patience and tenacity to work in the programming world.

    2. dancer*

      I think we’ve all been there at some point. Like “Who was the idiot who forgot to account for that edge case… Oh it was me :(“

    3. BuildMeUp*

      She says she spent 15 minutes after she talked to her boss, though, so she might have spent time looking before that!

      1. themmases*

        Yeah, 15 minutes can be a long time if you were already frustrated and flailing by the time you asked.

        1. fposte*

          It can certainly feel long, but I don’t think it’s inappropriately long. I’ve spent longer than that on decoding formula errors and that’s not even my job.

        2. TootsNYC*

          I agree, it’s probably not inappropriately long, not for computer coding.

          And I think that’s part of what her boss is trying to teach her: Don’t ask me; keep working at it yourself. It’s OK that this is coming back to you to keep working at.

          Also–I think a developer’s questions should be pretty detailed, and at the second level, not the first.

    4. Nashira*

      Uh you’re making me glad that my 9 credits of C++ required input verification as soon as we knew enough to write it.

      You’re also making me feel better for having to compare x86 asm character-by-character last night. I had a very similar procedure that linked properly, so it was literally char by char to make sure I hadn’t used like ebx instead of edx.

  7. Ave*

    I think this line, “Read and understand first, then ask questions. :),” particularly the smiley face at the end, really points to Alison’s assessment as being on target. I’m not a smiley face person, but still occasionally throw them out in situations like that where I’m concerned that my written tone will seem harsher than intended.

    It seems like the OP is taking this a little too personally, which is easy to do, especially if you don’t have a ton of confidence in your abilities. It seems like there’s just a conflict of learning/teaching styles here–the OP likes straight forward instructions and answers, while the manager prefers to point people in the right direction and have them connect the dots on their own. Hopefully with some awareness the two can meet somewhere in the middle.

    1. Sunshine*

      Yes. Plus the fact that all the conversation is happening in email or IM will give the OP room to interpret a condescending tone where it may not be intended. Very easy to “hear” the wrong tone in writing.

    2. cmm*

      This might also be a generational gap–the smiley is likely intended to soften the message. But as someone who just graduated college that initially reads as pretty condescending, because that’s how I see it used in texts and IMs among my peers.

  8. Mr. Mike*

    I think Alison is absolutely right in this case. As someone on the downslope of my life, I have found, over time, that teaching people to problem solve is much more effective for everyone involved than just giving out the answers. That whole ‘teach them to fish’ analogy. It can be frustrating from both angles. When I have someone I am mentoring, it’s frustrating to see them struggle and very tempting to just give them the answer, but the end result is the struggle is more important sometimes than the answer because it forces the person to find resources within themselves. And it is that much more pleasing to see that growth and the ‘aha’ moments.

      1. Karowen*

        If it were me in this situation, my internal reaction would be a lot different if the boss’ phrasing was more like this. Telling me that you found the problem in 2 seconds without explaining isn’t helpful, it just makes me feel like a complete idiot because I can’t find it. Asking me what I’ve tried makes me stop and think about what I’ve tried while also giving me the opportunity to “defend” myself (can’t think of a better word – don’t mean the OP should get defensive, but the boss may be thinking that OP didn’t try obvious steps A&B when she did).

  9. cs grad student*

    I find it kind of weird that she’s asking her boss to fix her code. If you have a documentation question, that’s one thing, but you should be able to fix your own errors. Especially if the error can be spotted within a minute of reading the code. Your boss is busy running a company and working on the hardest parts of the code. The value of a programmer lies in their problem solving skills. Anyone can write code that doesn’t work.

    Is there a coworker/another intern you could pair up with? You could send each other questions when you can’t solve why the program is not working as intended. That way your getting practice at looking at other people’s code and figuring out why it’s doing what it’s doing.

    1. The Other Alice*

      Yes! Pairing up with someone else and swapping troubleshooting duties would be a great way to build your skills without having to bug your boss. It would also show them you’ve tried another layer of fixing before asking them, which I’m betting they’ll appreciate.

    2. Marcela*

      No. No error can be spotted within a minute if you are a newbie. I’ve been programming for more that 10 years now, and when I was introduced to a big project with thousands of lines of code, I could not spot some bugs in just a minute while my coworker, author of most of that, sure, he could do it for small typos or errors in just a few lines. Maybe the boss is like my coworker, somebody who knows very well the code, and that makes him the obvious person to ask about it.

      This mentality that code being just reading text, as it were a recipe, is misleading and it gives a lot of heartaches. Code can be simple and beautiful, but most times is a huge beast impossible to get in the first reading, day, or month.

      1. cs grad student*

        I meant that the boss could find in a minute, as per the letter. Yeah, it might take her an hour or even a few hours to find it herself. But she should spend that time, not go running to her boss as soon as she’s stumped. She’s there to make the boss’s life easier, not the other way around.

        1. Marcela*

          Yes, I agree that she needs to take time looking for the problem. But we don’t know how long she spent before telling the boss that the code wasn’t behaving. Just that after that she got an answer after 15 minutes.

        2. Servant Leader*

          > She’s there to make the boss’s life easier, not the other way around.

          I challenge that notion. You’re describing a command-and-control or directive style of leadership. A good manager is a servant to their staff: a good manager honestly sees their job as being there to make their staffs’ jobs easier.

          1. Ask a Manager* Post author

            Eh, I disagree. A manager’s job is to get results. Sometimes making your staff’s jobs easier is a means to that end, but it’s not the end in itself.

  10. steve g*

    Urgh I totally sympathize with paragraph two! Last night I spent half an hour “troubleshooting” why a vba code I made wasn’t working anymore. At the end I realized it was because I had changed “sept” to “oct” in two places earlier in the day, and the vba was looking for those tabs that had been renamed. And I just didn’t see it even though the debugger highlighted around that line. Sometimes you just don’t see stuff!!!

    1. Carmen Sandiego*

      I sympathize too. I proofread copy as part of my job and there are times when your eye just corrects a typo for you! I have since started printing it and making a tiny pencil tick over each letter if I’m reading at the end of the day when I’m tired and more prone to mistakes.

      1. Chinook*

        “I proofread copy as part of my job and there are times when your eye just corrects a typo for you! I have since started printing it and making a tiny pencil tick over each letter if I’m reading at the end of the day when I’m tired and more prone to mistakes.”

        The best tip I was ever given for proofing copy was to do a pass starting at the bottom and reading it sentence by sentence (or, in the case of financial statements, line by line). It forced my eyes and brain to see what was actually there instead of what was supposed to be there and usually found me at least one glaring error.

    2. steve g*

      And now I’m wondering…if I had a boss to ask about code and I was 24 instead of 34, would they make me guess, or just give me the answer? because I have these type of issues quite frequently, and there is very little learning experience coming out of the wasted time.

      1. moss*

        Your boss wouldn’t necessarily know, is the thing. Your boss would have to do the exact same thing you’re doing, sit down with it, scrutinize it, try different things, etc. So having a boss to ask wouldn’t mean you got through the task any quicker.

        And don’t look at time spent hunting down the answer as “wasted”… you didn’t know before and now you do.

      2. Servant Leader*

        Perhaps you would have a boss that would say, “Gee, I’m not sure. Let’s sit down and look at this together.”

        Then if the answer doesn’t appear after 10 minutes, your boss might say, “Huh, this is tricky, and unfortunately I have a one-on-one with Madison in a few minutes. Try pulling in Ashok, s/he’s pretty familiar with this section of code. I’ll catch up with you in an hour or two to see how things are going.”

        The wizard is a cultural antipattern that good leaders strive to stamp out by spreading knowledge across a team. Job security for engineering managers comes not from knowing all the answers but being able to ask the right questions to get to the right answers.

  11. Carmen Sandiego*

    It can be incredibly hard to gauge someone’s tone and intent over email and IM. As Alison says, I think a discussion with your boss face to face or at minimum over the phone might help you look at this from a different angle.

  12. Quinalla*

    Would it be possible to do some of these chats over the phone, at least some of the time? It sounds like in-person is out, but at least over the phone you’ll have tone of voice to give you more clues about if he’s trying to help/push/encourage you or he really is condescending. I do tend to lean to he is trying to help you learn, but taking it too far at times, talking on the phone at least sometimes might help. I find younger folks tend to shy away from the phone even when it is the best communication tool for the job, honestly in my field most of my peers do the same regardless of age so I’ve found this piece of advice helpful for a lot of folks. I think I tell someone at least once a day to “Pick up the phone and call to talk to her/him!” and sometimes in-person is needed to, but that isn’t always as feasible.

    I also think it is a good idea to detail briefly the things you’ve looked at and tried yourself already before coming to him. When I go to a peer or higher up for assistance on something I’m stuck on, I will often at least preface it with something like “I’ve been banging my head against this for about an hour and need to borrow your brain to help push me past this.” and sometimes go into detail about what I’ve looked into if it makes sense. It sounds like you are worried (maybe correctly) that he thinks you are asking him for help as soon as you run into an problem and not trying to figure it out yourself. I think if he knows you are trying to figure it out yourself, it will go better for both of you, and he may tone it down a bit on trying to push you so hard when it may be more appropriate for him to be more helpful. Not “give you the answer” but be a little more helpful.

    1. TootsNYC*

      On the “borrow your brain” side of things (I use that phrase a lot):

      Maybe you can say, “I’ve looked at X, and tried going through from the top, and I cross-checked all the tabs/pointers. Is there some other tactic that might help me spot this, that you can suggest? And I’ll put it in my mental toolkit.” (and then do so)

      When the astronaut Peggy Whitson went to the space station, she kept a blog, and on it she told that one of the astronauts told her: When you “drop” something, look UP. You’re used to looking down, but we don’t have gravity.
      It was a reminder to her that simple change to your approach, your perspective, etc., can help.

      If I were debugging, I’d work backward through the code, get frustrated, and then go get coffee. And maybe switch to a different stretch of code. Then come back, with different music in the background, and check going forward; or cross check all the variable names; or check all the if/then routines. In other words, change my perspective up.

      So maybe seek out those sorts of general guidelines to apply–and ask if you can switch to a different task and come back, w/ a fresh brain, new mindset, etc.

  13. So Timely*

    Alison, I was thinking the exact same thing as you while reading this question. OP, it can be very frustrating finding an error in your own work, but believe me, it is the best way to learn. As Sharon pointed out, when you find your own mistakes, you will forever do things differently!

  14. JennyFair*

    I have to disagree.
    “Read and understand first, then ask questions. :)” would come across as condescending to me if I, like the OP, *had* read and was basically checking my understanding. How does one know if they understand without checking? And if they understand, why would they have questions? I agree that one needs to be as self-sufficient as possible, but that particular statement would anger me and also tear down any trust I had in my manager.

    1. A Non*

      Same here. Any variation of accusations that you’re not thinking/trying hard enough really angers me, and that’s what this sounds like. If it was “check the second part of the instructions again, I think it’s in there”, it wouldn’t raise my hackles. But this does.

        1. KM*

          Yeah, it reads as condescending to me, too. If you want someone to learn to be less reliant on you for problem-solving, the respectful thing to do is to TELL THEM THAT and explain which other resources they should use before coming to you. OR, start by saying, “What have you tried already?”

          Instead, the manager’s just indirectly rejecting the questions by implying that the OP didn’t try hard enough which, to me, is not good coaching.

    2. Ad Astra*

      That’s how I see it, too. The manager is giving her the same responses he’d give to someone who’s made no attempt to figure it out for themselves, but it seems pretty clear that OP doesn’t escalate the problem until she thinks she’s exhausted all her other resources.

      And, intellectually I understand that people typically use smiley faces to soften a message and show they’re not angry, but I still read them as condescending.

      1. JennyFair*

        As an aside, I was taught (when working entirely from home) to use smilies as ‘conversational condoms’–just for safety’s sake. It did feel very false to me, but I’m a very straightforward person and in text, that can come across as stern when it isn’t intended. I doubt I’ve mastered tone in chat yet, emoticons or no.

          1. Servant Leader*

            Eh, maybe. We’ve only seen a small section of a larger thread so we lack full context. Let’s not hang the boss out to dry. (Nor should we put him on a pedestal.)

        1. Natalie*

          I do the same thing as a straightforward person that comes across as tense or stern. It seems to be helping…

      2. Samantha*

        If the OP wanted her boss to simply tell her what to do, then she should ask the question as she did – “OK, so I switch Section A & Section B?”

        But if she wanted confirmation from her boss that she had understood his feedback correctly before taking action, she could have said: “OK, read the article. If I understand this, it looks like I’ve got the order of Section A & Section B set up incorrectly. I’m going to switch Section A & B. Sound right?”

        Although the OP may have read the article before asking the first question above, the second question above shows the thinking to her boss. It also helps him give her better feedback if the answer is “no.”

        1. Karowen*

          I disagree – I’d use what she said as conversational shorthand for what you wrote out. If I was explicitly told to read an article to figure out what to do, then went back to the boss with an idea of what to do, I’d expect the boss to assume I’d read the article. While it would be helpful to spell out how she came to a conclusion as you suggest, I don’t think she was off-base in just offering her conclusion.

          1. Marty Gentillon*

            Except that that question doesn’t demonstrate understanding of why. In software development it is often more important that you understand why you should do something that that you should do it. Acting without an understanding of why often leads to cargo cult programming and coding by coincidence (and related problems).

            http://blogs.msdn.com/b/ericlippert/archive/2004/03/01/82168.aspx
            https://pragprog.com/the-pragmatic-programmer/extracts/coincidence

            When given an article, it could be easy to figgure out what to do from a cursory reading of the article. Unfortanately, a cursory reading will not give understanding. If you understand the reasons for the solution, then the answer to the question of “should I do X?” is usually obvious. As such a “read, understand, then ask questions :)” (read as understanding, accepting, but slightly chiding) is a reasonable answer.

            A couple of better answers:
            “Try, and find out”
            “Why do you think that is the answer?”

        2. TootsNYC*

          But if she wanted confirmation from her boss that she had understood his feedback correctly before taking action, she could have said: “OK, read the article. If I understand this, it looks like I’ve got the order of Section A & Section B set up incorrectly. I’m going to switch Section A & B. Sound right?”

          Can’t she get confirmation from the code itself?

          Why doesn’t she just switch A & B and run the code. See what happens. Did it work?

          Maybe I’m not understanding how coding works. But I know in editing, we will rewrite a sentence and then read it back–how does it sound? We don’t talk about how we’re going to rewrite it; we just try it out.

          1. Marcela*

            That is a good idea, if the results are clear and the environment is decently set. Sometimes you can do that, change pieces. Other times, it’s impossible because the switch involves too many parts and the equilibrium is very, very delicate.

    3. Anon for this*

      As a developer, if I were in this position, and thought to myself “okay, the document says to replace section A with B”, my first response wouldn’t be to ask my boss “is that right?” It would be to go replace A with B and see what happens. If that didn’t work, I’d re-read the document to see “oh, I needed to use C, not B” and I’d go try that. And if that didn’t work either, *then* I’d go back to the boss and say “I read the document twice, and tried both B and C, and neither one was correct.” That shows the boss “I’m trying to do this on my own, and I only came to you after both of my read-throughs and attempts failed.”

      1. Anon for this*

        And yes, if I was sure that B was the right thing (there was no C step), then I’d go back to the boss and says “okay, I read what you sent me, and it said to replace A with B, but I did that and I got this (incorrect) result.”

      2. JennyFair*

        See, I’d expect my boss to be more straightforward about this. Ie, ‘In general, I expect you to go through some trial and error, and don’t worry, you won’t break anything we can’t fix’, rather than this roundabout ‘I hope you get what I’m trying to tell you which could be anything from I’m too busy to help you to I see potential and am hoping to make you strong’.

        1. dancer*

          I don’t think that needs to be said though. It’s kind of a given. Generally the way coding in a company works is that you’re changing your local copy and not production code. So we tend to mess around quite a bit in our own copies before settling on a solution and commiting the code.

          1. JennyFair*

            So you think it’s better to take an essentially passive-agressive approach to coaching than to be straightforward? This is the OP’s first job in this field, I think giving them some basic expectations is important, and the OP’s manager isn’t doing that-they’re expecting the OP to read between the lines and figure it out, and that isn’t working.

            1. dancer*

              I actually didn’t think it was passive-aggresive or needs reading between the lines. I got the manager’s response when the people teaching me were nicely telling me I was supposed to be able to find the issue on my own.

              1. JennyFair*

                Not everyone is going to understand it that way, though. I don’t know why being ‘nice’ is supposed to be more important than being clear. And I also don’t think the statement was nice, either, it makes assumptions about how hard the OP has worked, how much thought they’ve put into it, and issued a judgment that they were being lazy. Putting a smilie on something doesn’t make it nice.

            2. blackcat*

              I think the issue here is that most people learn these sorts of expectations for coding either
              1) through undergrad classwork
              or
              2) through having to do trial an error while self-teaching.

              OP hasn’t had these experience, and she needs to figure out how to make this work. It’s just a mis-match of expectations, and the OP needs to adjust hers.

            3. Mike*

              Keep in mind, this isn’t expectations about what they should be doing or what their output should be, it’s about problems they’re finding and trying to solve in getting to that end position.

              This is the core task of a development job, so telling them how to do it just isn’t feasible.

          2. themmases*

            That’s true, but I still think it’s not uncommon for people to be nervous about running something that probably or definitely doesn’t work when they are new. It’s obvious that you can’t really break anything the more you learn about and understand what you’re doing, but when you are just starting out it can be a mental block.

            The OP is an intern who took an intensive course, not a professional developer. The boss should not have to describe the basic expectations and work environment of professional developers to an employee, but when it comes to training an intern I think it is their responsibility to spell out things that might be obvious to professionals.

        2. Stranger than fiction*

          Maybe he doesn’t even know the answers himself and/or doesn’t want to stop and think about it. I’ve known lots of managers like that.

      3. blackcat*

        Yeah, that’s what I would do, too. It’s been a while since I had to produce a lot of code for work (not school), but whenever I did, no one was upset when I came and said “I have tried X, Y, and Z. X preventing things from compiling. Y seemed to do nothing except W, which is good for future reference but not helpful here. And Z seems promising, but Stackexchange advise isn’t quite getting me there. I think I need some more information about how OriginalCode works to integrate it.” But “I’m having a problem and I have no idea what to do.” was not appreciated at all.

        My most frustrating week of work ever was when I had tried for days to get code to work, having strange and unexpected errors. Professor Google was no help, until I tried again on the 4th day, when another person posted the same question on StackExchange. As it turns out, the problem was cause by an extremely recent software update coupled with the fact that the code had been originally written on a mac and I was using a PC (there were “\” vs “/” problems). Four days of work, and the solution was to find a mac that had not run the update yet, which took about 5 minutes. Code ran perfectly. That was the day, my friends, when I decided a programming-heavy career was not for me. Also, do not be afraid to ask questions on sites like StackExchange!! I find StackExchange to be the very best of the internet; it is full of strangers who are willing to take time out of their day to help you. Sorta like AAM :)

        1. steve g*

          Yeah that sounds VERY frustrating, that’s not why one takes a coding/analytical track. The fun part is when you literally make the big button that someone clicks and a bunch of stuff happens. But not errors.

          1. blackcat*

            I think the ratio of how much fun stuff is needed to make up for the frustrating aspects for me was never going to work out.

            BUT I did enjoy making little interactive widgets for my students to use when I was a teacher. And, you’re right, it’s fun to make something that’s really useful to someone else. Those were cute little projects, and, building something from scratch, I never had hard problems working with code someone else had started (this is all of my frustrating experiences).

            1. Steve G*

              I coincidentally had one of these moments tonight. Someone in college working PT at my job came up to me and started talking about Excel courses and signing up for them next semester and all of this expensive/long term stuff.

              I started showing him what I do in Excel and VBA and he was like “wow I want to do it one day.” In my head I was like “you are too busy to help him” but I couldn’t resist and I plan on training him in a few things next week. I said I’d give him 1/2 an hour. He seemed apologetic, I was like – believe me – as valuable as my work time is, I know EXACTLY what you are going to need to know at this job and to get the next job, its better if we just get this done sans expensive course

        2. copperbird*

          My most annoying one was a piece of code where it worked fine when I put one declaration in front of another, but not when I switched the order … and there was really no reason for this. It wasn’t a red flag issue but it annoyed me because I didn’t understand it.

          I eventually did go to my boss and we looked it over, then looked at the assembler, and identified it as a compiler bug :) Which we reported to the manufacturer.

          Experience is knowing that sometimes it’s not your code that is the problem :)

      4. Koko*

        But what if you replaced A with B and it appeared to work, but because you didn’t quite understand the nuances, it would only work in 98% of scenarios?

        1. steve g*

          Absolutely. That is an issue in some of the stuff I took over at new job. Code/formulas covering set ranges when the range could eventually get bigger, or not enough error messages or if statements that don’t handle all possible scenarios

      5. Underemployeed Erin*

        Well, we don’t know what type of environment she is working in. Is it an environment where someone is doing revision control, or is it an environment where it is going to be hard to go back if she makes a change? Does are new programmer know about revision control?

        I was always VERY reluctant to change things in environments without revision control for fear of breaking things.

    4. Not me*

      I can see how it would come across that way, depending on who said it and how. I can see myself thinking but I’m asking questions to understand. In general I agree with what Alison and everyone has said.

    5. Alice*

      I had a manager who would do this. He’d regularly send me emails like “Reread above message” when replying to my questions. Managers: that does not induce an “aha” moment. Ever.

      1. JennyFair*

        Yuck. I had one send me a ‘let me google that for you’ which was probably the most condescending thing I’ve ever had done, in addition to doing *nothing* to to build any kind of trust. I get being annoyed and I get hating to answer the same question for every person who comes through, but snotty =/= managerial.

        1. Karowen*

          To be fair, I’m currently training someone who keeps asking me stuff that his first instinct should be to Google. The most recent example was asking for the phone number of the local branch of a nationwide chain when there’s not really any reason for me to have that memorized. After gently pointing him in that direction for Nth -1 times, when he asked for something that easily accessible for the Nth time I broke and said something along the lines of “I don’t know; Google is your friend.”

          I’m not saying that the “let me google that for you” was appropriate, and looking back the phrasing I used was super rude, and I’m not saying that you were doing what my trainee is doing, but there were only so many times I could gently teach him how to fish before I lost it.

          1. Alice*

            I totally understand what you’re saying. There is such a thing as a stupid question. In my defense, I only worked there for six months and sent him like three question emails.

          2. Natalie*

            One little bit might not be clear here is that Let Me Google That For You is a site with a kind of condescending tone, so the manager had to go through extra steps to be rude. Definitely different than a more general “you should look this stuff up before you ask me.”

        2. So Very Anonymous*

          I worked with someone who wanted to send people LMGTFY links in their responses to queries, apparently seriously. Happily, our boss said no. I’d rather use repeated questions as an opportunity to create an FAQ list to direct people towards than use something like LMGTFY.

        3. steve g*

          Not to mention you might now have known WHAT to Google. For example, one of my coworkers never heard of countifs. To find it, they would have had to come up with a Google search like “excel function that counts how many times something meets more than two criteria” and even if they do that you still need to hope they don’t get sidetracked by sumif or countif or sumproduct or something else not pertinent to their specific sheet

        1. dancer*

          Maybe I’m weird, but I actually don’t mind those. If I can get the next step on my own, it means I’ve got a good grasp on the concept. Whereas if I just read it, it doesn’t necessarily stick.

    6. YogiJosephina*

      Absolutely agreed. I’m really, really surprised how many people are on the boss’s side here.

      Straight up answering someone’s question does NOT mean they’re not able to learn or do things themselves. Come on now. As a person’s supervisor, you should be willing and able to explain and define problems, ESPECIALLY to an intern (!!!) who is just starting out! Within reason of course, and you can’t be constantly holding their hand, but that doesn’t sound like that’s what’s happening here. It sounds like he/she has the occasional inquiry, and for the boss to push back on all of them with “try to figure it out yourself!” is…well, it’s kind of obnoxious, really.

      They will still learn how to do it by you answering the question. And there’s probably DOZENS of things that happen every day where the OP is figuring it out for themselves and not bothering anyone. If they’re coming to you, that means they are out of options. You’re their boss. Do your job.

    7. TootsNYC*

      That’s why I was wondering how much time had gone past, and how simplistic did her question sound?

    8. Jady*

      I’m glad I’m not the only one leaning towards the OP’s side of things here.

      It’s fine to try and teach people and direct them instead of hand them answers. I get that. But the way this man comes across to me is very condescending, dismissive, and passive-aggressive.

      His attitude is only one I would take if I’d been working with the same person for weeks to months and saw a pattern that they never put in any effort. If the OP is spending 5 minutes and then throwing her hands up in the air with an ‘i give up!’, then sure, I can support the direction the boss takes.

      But returning with an ‘it should be obvious’ or any of these other situations described is terrible. You don’t need to hand the answer out, but you do need to provide some direction.

      Fine:
      “It should be obvious, analyze this function closer.”
      “It should be obvious, check the section that starts on line 54.”
      “If you understand [this command used at this location], it should be obvious. Here’s a link to Microsoft’s documentation about the command.”

      Not Fine:
      “It should be obvious.” Which in my head continues as “if you weren’t a stupid moron wasting my time.”

      At the point the OP is at, I probably would have stopped going to him completely.

        1. moss*

          But that’s projecting. You’re making assumptions that the boss thinks you’re a moron. The boss does not think that or the boss would not have hired you. Defensiveness and assuming the worst will stand in the way of becoming a good coder or a good anything.

          1. Alice*

            Not all people were hired by their managers/supervisors though. I agree that defensiveness is a terrible trait, but I have been in a situation where my boss was upset about my being hired. He didn’t take me aside to clearly tell me why, so it resulted in an awkward environment with tons of passive aggressiveness.

            Obviously this is not OPs situation, but things like that do happen.

          2. Underemployeed Erin*

            But in an environment where you are working with someone who has little experience, they are going to have imposter syndrome and heading that off by being more kind is something that a manager should consider.

    9. Grey*

      I agree with the OP too. This sounds too much like “Just figure out a way to get it done” from yesterday’s “5 Management Phrases to Remove from Your Vocabulary”.

      It sounds like the OP is asking most questions only because she couldn’t figure out a way to get it done.

  15. Christy*

    It feels SO HARD though, when you’re new at development, to try to find the answers on your own when you’re new, particularly when you just know that your boss could tell you the answer easily. I totally feel your pain, OP–I’m in a similar boat. I even have remote bosses and coworkers! I’m pretty new to development, which means I’m not an intern, but they acknowledge that I am in the beginning stages of learning how to do our job.

    One thing I find that helps me is that I will write out a question to my boss in an email. Then, I’ll say to myself, “What’s the first thing he’s going to ask/suggest?” Then I try to figure out that part of the question. Then I edit the email, and I ask myself his next question. I keep doing it iteratively, and all of a sudden, I’ve solved the problem myself. It’s super frustrating because I know my process is taking me an hour when he could solve it within 10 minutes, but it’s useful because I know I have to learn how to teach myself.

    And I totally read smiley faces as passive-aggressive, too. That was hard for me to turn off, but I had to, and it sounds like you have to, too, to deal with your boss. (Too many to(o)s!)

    1. Christy*

      It really, really helped me to get to meet my boss in person, and to have a picture of my customers. Meeting my boss in person gave me a real human behind the screen that I was interacting with. I realized that no, my boss isn’t mad at me, he’s just worked another 14 hour day, and he’s not really the type to actually be mad. Having the picture of people means I can imagine way more about their lives other than disembodied voices.

      Can you go into the office a little more for a while? It might help with the negative feelings to interact in person and see that he’s most likely a good human.

    2. UK Nerd*

      I’ve heard of bosses who insist that whenever you have a dev problem, you have to explain it in full to their teddy bear/plastic duck/rubber plant before you’re allowed to bring it to them. A lot of the time, people find the answer while talking to the bear.

        1. Daisy Steiner*

          At first I thought you meant she had to explain her problems to a duck before she was allowed to talk to you!

      1. Tau*

        I sadly work in an open-plan environment and people would murder me, but I dream of one day being a grown-up coder with their own office who can bring in a captive audience teddy bear. :)

        1. meh*

          Use a notebook. I find it remarkably effective for having conversations with yourself, and it also serves as a solid record if I need to talk to someone else about the problem.

    3. Judy*

      When I’m working at home, I’ve always found my cats to be really good debuggers. As I’ve got one sitting on my lap, I’ll talk through the code, explaining to them why the code should work a certain way. And then suddenly, they tell me that the code is not written that way.

      Next you add X to Z and you should get Y. Wait, that actually does get A. Cat treat for you.

      1. ali*

        my dogs are very good at this too. maybe we should get them together, they could probably solve all the world’s programming problems!

        1. UK Nerd*

          I’m too allergic to have pets at home but next time there’s a giant house spider in the bath I’m going to recruit it for debugging purposes. It should help with the arachnophobia as well.

        2. simonthegrey*

          I’ve been told my snakes are good for it, too, because they don’t even look like they’re falling asleep while they talk to you (they’re totally asleep, but they don’t have eyelids).

      2. Rebeck*

        And now I’m wondering if explaining my current revisions to the cat will help me find my plot threads again. Always assuming the cat doesn’t wander away mid sentence.

      3. Chinook*

        I just realized that my job as a high school English tutor is not actually that of tutor but that of rubber duck with a built-in kitchen timer for the students to bounce ideas and questions off of while being required to work on their assignments for set amount of time. That makes me feel so much better about getting paid to basically sit and watch someone type.

    4. TootsNYC*

      One thing I find that helps me is that I will write out a question to my boss in an email. Then, I’ll say to myself, “What’s the first thing he’s going to ask/suggest?” Then I try to figure out that part of the question. Then I edit the email, and I ask myself his next question. I keep doing it iteratively, and all of a sudden, I’ve solved the problem myself. It’s super frustrating because I know my process is taking me an hour when he could solve it within 10 minutes, but it’s useful because I know I have to learn how to teach myself.

      This is BRILLIANT!!

      My mom passed away a couple of years ago, and the second-most devastating effect it has had on my life is that I no longer have her wise counsel. So I find myself saying, “What would Mom say?” And you know what? I can almost always be confident of what that would be.
      So now I advise myself. Or, my mom advises me because I’m channeling her.

      This was the mom who used to say to us, when we asked her for somethign as kids: “What would you do if I weren’t here? You want a cooking from over the fridge–if I weren’t here, what would you do?” We’d say, ‘get out the ladder.’ And she’d say, “Do that, then.”

      1. TootsNYC*

        And this was the mom who, if I asked her what a word meant, made me look it up in the dictionary. Even if I said, “Oh, never mind, I don’t care anymore,” she would make me go get the dictionary and look the word up in it, and then make me use it in a sentence of two.
        She NEVER just told me what it meant.

        I should have done that with my kids…

        1. Joline*

          The “look it up” is how I learned that Santa wasn’t real. My brother asked my parents and they told him to look it up in the encyclopedia. He did and brought me along with him. I was not ready. :P

  16. cuppa*

    Ooh, I really like this. I can see how this can be frustrating for the OP, but I think Alison is right here. He’s helping you, just not in the way you’re looking for.
    I would also add that his method of helping you takes longer for him, as well, so I don’t think he thinks you’re wasting his time by asking questions. He’s actually spending more time and effort than he would be by just giving you the answer.

    1. AnotherHRPro*

      This is what I came here to respond. It would actually be easier for your manager to “give you the answer”. He is trying to help you learn. Not just the answer to your specific question, but how you can problem solve. Over time it will also give you more confidence in your own skills. As a manager, this is something that I have to consciously work on doing. Not answering the question and helping my team figure things out on their own.

      1. TootsNYC*

        Well, it would be easier for the OP, but not necessarily for her manager, who was busy doing other things.

        And then the manager is setting up the expectation that he can be interrupted for quick answers.
        And truly, the OP will learn better if she figures it out for herself.

        The manager is saying, “it’s appropriate for the time and energy for figuring this out is being spent by you, even if it is MORE time and energy than you think it should be.”

        Later, much later, it will be easier for the OP to figure it out for herself. But she has to get there.

  17. Jane*

    I spent several years as a software developer/senior software developer. This is a really common way of guiding new programmers, and as frustrating as it is to experience, it works way better than being told the answer. It *is* incredibly frustrating to go through, but you will be an amazing programmer if you learn this way. Your boss is coming from a really good place – he wants you to develop into an awesome, butt-kicking programmer, not just get the maximum amount of work done in x amount of time. That’s an awesome quality to have in a boss/job! Take advantage of it while you have the opportunity.

    Think of his “unhelpful” answers as learning via the Socratic method. If your teacher (boss) asks you a guiding question, ask more questions back until you are able to get closer to your answer. <— Put this in a repeat loop until you become a total badass programmer.

    P.S. Keep building experience and try to keep a love of learning. Eventually, no one will care about your lack of CS degree, I promise. The best coders I work with now have liberal arts degrees.

    1. Hlyssande*

      I can see how it would feel really humiliating (I would probably take the smiley thing as passive-aggressive too), OP, but I also think he really is trying to teach you. Maybe not in the best way, but that’s what it sounds like he’s doing.

      You might want to try the rubber duck debugging method (wiki link in my name) when trying to figure out a problem in code. It could help and rubber ducks are also entertaining.

    2. Hlyssande*

      ..That was supposed to be its own comment, whoops.

      Also, Socrates had a huge case of rectal haberdashery (says the philosophy major).

  18. Anonacademic*

    This is exactly what I am doing as a new manager training staff. I can sub in if there’s an emergency but mostly they need to be empowered through experience and training to troubleshoot independently. I don’t doubt some of them find it annoying, but it’s necessary!

  19. Hannah*

    I find myself wondering about whether this is also a case where a tone of voice is being interpreted incorrectly because email and IM doesn’t always convey tone very well. I’d be interested to know if a tone of shaming or condescension has occurred in spoken interactions. In email or IM, it can be easy to infer a tone of voice that isn’t the intention of the person writing because it lacks the non-verbal features that are conveyed in speech.

    1. Lillian McGee*

      Yes, this. I know how hard it is to get tone right over email/IM yet I still jump to conclusions about others all the time. Your advice bears repeating!

  20. BuildMeUp*

    I feel like maybe there’s a middle ground here that would work better for both of you. I agree that your boss is most likely trying to help you learn to find the answers yourself, but in the first example you gave, it sounds like the “hint” your boss gave you didn’t give you enough information to point you in the right direction. He told you later it was the first place you should have looked, but you obviously didn’t have the experience to know that.

    Maybe at a time when you don’t have a specific question, you could sit down with your boss and ask for him to give you a little more guidance in these situations. Say you don’t just want the answers given to you, but sometimes when there are so many possibilities, it’s hard to know where to focus your attention, and it would be great if he could either give you more specific hints or talk you through troubleshooting a few times, so you know the best places to look.

    1. Lynn Whitehat*

      Maybe it will go better if you tell him what you’ve already tried. Then he would know that you tried something, where right now it sounds like he thinks you are IMing him with every tiny question you have. It might also prevent him suggesting things you’ve already tried.

    2. TootsNYC*

      But now the OP does.
      Maybe he didn’t use the best tense and modal (“This is the first place to look when you have a problem like this” would have been better), but just rewrite the tense and modal yourself, OP. And say, “Hmm, what about this problem is the indicator that I can use to look in that ‘first place’ the next time?”

  21. DVZ*

    Completely agree with the response and the other commenters. I agree this is probably super frustrating for the OP…but probably a lot more frustrating for the boss.

    1. I think OP sounds like she is probably stressing out too much and too soon, and it also sounds like she is prioritising speed over results. Not everything is urgent and it is really important to SLOW DOWN and think critically before asking questions. If it is truly urgent that you fix something/come up with an answer, then it’s fair to ask the boss even if you haven’t exhausted all other avenues, but the OP might benefit from learning what constitutes a true emergency/priority situation and other situations where it’s okay to take longer in order to work through something carefully.

    2. Related point…but 15 min trying to solve a problem is no time at all. If the boss is pressuring you then that would be one thing to raise with him, but if these are normal projects with normal deadlines, you can probably afford to spend more than 15 min trying to solve a problem!

    3. You’ve said that when you tell him specific things you’ve done and he’s still condescending about it, this is probably his issue and not yours. But still…are these truly thought-out, intelligent approaches you’ve tried? Or are you panicking and trying things that don’t entirely make sense, and then going to your boss about it?

    4. Exhaust all avenues…this is something that will surely drive your boss crazy if you’re not doing it. Are you using the internet, books, intranet, manuals, training resources, colleagues etc. to their full capacity? I have a colleague who continually asks questions that could very easily be solved with a simple email search, quick look through our shared folders, etc. It is INSANELY annoying.

    5. Are you making notes/really absorbing his feedback and help? When I first started at one job, I had to write a lot and kept getting edits/suggestions/corrections by my boss and it would drive me crazy because I felt like I couldn’t ever get it right. And I assumed I couldn’t do it properly so I started just half-assing the writing, which shockingly did not solve my problem. The solution was finally making a document where I copy and pasted EVERY piece of writing feedback she ever gave me. And then for every piece I had to write, I went line by line through that document and made sure I had really absorbed the feedback and incorporated it – and I eventually stopped getting any edits at all. Could you start really noting his feedback and reviewing it entirely before you ask him questions?

    1. BuildMeUp*

      I think the 15 minutes was after she had already been working on it herself and then asked the boss for help! I’m assuming she spent some time looking for the problem on her own before that, although I don’t know how much.

      1. TootsNYC*

        I think the boss’s condescension is telling her, “15 minutes is not very long at all. Go give it a REALLY good try, and then ask me something more substantive. Your question is so simplistic, I’m left with the impression that you didn’t really work at this.”

        Of course, we don’t know how much she’s already done, and being in another location, the boss doesn’t either. But it’s possible her question made it clear she hadn’t invested much herself.

        I sometimes fantasize about learning to write code (as a copyeditor, I think I’ve got the mental habits that would make it enjoyable), and I think the most rewarding part would be the debugging. I imagine that debugging is sort of like copyediting–fine-tuning, sorting out the stuff that seems right but isn’t.

        1. moss*

          It’s not. What you’re describing is more like tweaking. Where it’s pretty much okay but just needs fine-tuning. Debugging is like trying to find the murderer, where sometimes the murderer can shape-shift and you often have the entire police force telling you “That can’t possibly be the murderer!”

  22. 42*

    Your boss is doing you a huge, huge favor OP. I hope you realize that one day. I’d love to work with someone like that.

  23. Ad Astra*

    I can tell this manager is trying to teach OP how to find these answers herself, but the way he goes about it would drive me insane. If I know there’s an error in my code, I can’t seem to find it, and I ask for help, a response like “I can see the error. Can you?” would make me throw my computer out the window. In that situation, I don’t need my manager to say “Oh, you wrote [code=makingthisup] when it should be [code=forexample].” But I do need something like “Check the part where with [some specific functionality].”

    I understand the value of leading questions and pointing someone in the right direction rather than just fixing without teaching, but I feel like this manager is executing that strategy pretty poorly. I’m surprised that Alison doesn’t seem bothered by this manager’s method, but I also know I’m pretty defensive by nature. Am I expecting too much hand-holding from my own managers?

    1. Christy*

      Well, in OP’s letter, she doesn’t say that she told her boss that she’d looked for the error. In that context, I understand the boss saying something like “Well, I can see what the error is. Can you look for it yourself?” with an implied “And I’ll help if you can’t find it yourself later.”

      I like a lot of handholding, myself, and I’d be annoying in OP’s shoes, but it wouldn’t be the boss’s fault that I was annoyed–I think it’s just the annoyance of being a new programmer.

      1. Ad Astra*

        I guess I made the assumption that if the code wasn’t working how she wanted it to, she knew that’s an indication of an error. It doesn’t say what resources she had access to before the boss, so I guess we don’t know if she exhausted every avenue before bringing it up with him in that case. But to me, observing that the code isn’t doing what you and and understanding that there’s an error somewhere are essentially the same thought. Then again, maybe programming isn’t for me.

        1. Christy*

          I’m making the assumption that she knew there was an error and wanted it pointed out to her so she could move on, rather than spending 15 minutes looking for it. Like, she knew that an error existed but didn’t know where the error existed, and didn’t want to have to dig forever for it. I think it’s the difference between saying “I can’t find where this is throwing an error and I’ve looked for an hour” and “This isn’t working–can you tell me where the error is”. The first, I’m totally with you. But with the phrasing of the OP’s letter, it sounds like she asked the second question.

          (BTW, I’m really sorry if it feels like I’m disputing your every point, I’m totally not intending to. I think we’re having a good discussion of some of the letter’s nuances.)

          1. Ad Astra*

            Yeah, we just came to different conclusions about exactly how much the OP did to figure it out for herself before asking for help. I think OP believes she’s doing all she can do, but it might be that there’s a strategy or a resource she’s neglecting in this process. There are some really good suggestions upthread about troubleshooting your own work that I may even try to integrate into my (non-programmer) job.

            1. Christy*

              Yes, definitely. I’m totally bookmarking this thread because it’s been really really great to read.

    2. moss*

      I mean, are you brand new? I think it depends on the baseline where the question is coming from. As someone said below, sometimes it’s great to have a policy where you ask questions right away and the problem is solved and you move on. But I would only want someone who at least has a baseline of experience to ask questions immediately. Someone brand new, I would want them to spend some time whacking around to try to find the path. Being frustrated is part of it and you can’t learn to be a good programmer without encountering and surmounting frustration. If you take away the frustration-handling part and just give out all the answers right away, it’s not doing the brand new coder any favors.

      1. TootsNYC*

        But I would only want someone who at least has a baseline of experience to ask questions immediately.

        Actually, I can’t think of very many places where I would want ANYBODY to ask questions immediately.

    3. Dan*

      I was going to write in with this. Yeah, the OP is being a little bit sensitive, but the boss is being a moron in attempt to “teach.” “Hey, there’s some bugs in the code, I’m having trouble finding them, can you help?” Followed by “I can see them, can’t you?” Would drive me nuts. The literal answer is, “No, I can’t see them, which is why I’m asking you.”

      There are two other things that are going on, that haven’t been given as much air time. 1) The original code author is the boss, and 2) The OP is an intern. By definition, interns require more hand holding. Less handholding = more experience = bigger paycheck. The price a company pays for saving money on labor with an intern is more 1:1 interaction.

      Back to 1), the original code author is still on the payroll, and there is no documentation. I don’t know what that means per se — does that mean the code isn’t even commented? (Even if it is, a good comment would tell you *why* you’re doing a particular thing, not what you’re doing. The code itself says what. It’s harder to find bugs when you don’t know what the author was attempting to do.) At my company, the original author of the code should expect to field questions about their code, if people are bothering to look at it. I agree the OP shouldn’t be taking Steve’s code to the boss and asking for debugging help, but it’s not unreasonable to go to Steve and ask for help with his own code, especially if Steve is more at the peer level. (If Steve were now a VP but had written the code 10 years ago, I might have a different opinion.)

      Frankly, given the stuff that I do, I wouldn’t dream of asking someone to debug it for me. But that’s more or less what I see going on here — the boss is asking an *intern* to debug the boss’s code. That’s harder than it sounds, particularly if there is no documentation as the OP asserts.

      1. Ad Astra*

        Yeah, I’d love to get a programmer’s opinion on the documentation issue. It seems to me that the manager might be especially adept at spotting errors in this code because, y’know, he wrote it. It also seems like a lack of documentation internally would be confounded by a lack of resources (online forums and manuals and such) for feedback, because nobody outside the the organization understands the code. Am I understanding the terminology correctly?

        1. moss*

          Lack of documentation can mean a lot of things. It’s not great, but it’s also not a reason to just give up. If all else fails, sit with the code and a paper and pencil and go through it and see exactly what each section does.

        2. Mike*

          Contrary to a lot of commonplace popular assumptions, documenting code is mostly a bad idea — comments tend to just be lies, because the comments don’t execute, the code does. So you’ll get something like:

          //Convert from UTC to Eastern Standard Time
          orderTime.subtractHours(8);

          … because someone changed it to be Pacific Time a few years back, but they didn’t update the comment. If you read the comment and pay attention to it, you’re going to be misled into thinking that value is now in Eastern time; reading the code will tell you the truth.

          And yes, ideally the comments would be always perfectly correct and maintained; but the real world is the real world, and real world comments are counter-productive trash.

          1. TootsNYC*

            I can totally get that. I used to be pressured to make a list of all the company names we reported on, so people could refer to it.

            I put it off and put it off, and then finally had to stop being passive aggressive and to flat out refuse. (It took me a while to figur eout why I kept putting it off, to be honest; I wasn’t being passive aggressive as a conscious strategy).

            Because every list (every comment) becomes obsolete the moment it’s done–companies change their names all the time. We had the Internet by then; check then name ont he company website. If the material under the “header” is going to be live, then it’s SO much more work to update the header, too.

            I suppose if I were going to comment code, I’d use comments like: “convert time zone.” So give the type of action, but no more details than that.

          2. Marcela*

            Of course, comments like that can create problems. But you shouldn’t have big chunks of code with no documentation at all. How are you supposed what a given function or library does if all you can see is the plain code? How are you to know the logic behind a specific flow if it’s not written in any place? Good code IS documented, and dated and tracked. Writing documentation is horrible, so boring, but a good developer would add it to her code, even if just thinking about the next developer who will take it.

          3. Dan*

            Because people don’t update the comments don’t make comments bad. The thing with your example is that if your code is buggy, you have no idea if “orderTime.subtractHours(8);” is correct or not. If I were debugging the line of code you quoted, I’d got find out what the “right” answer is, and update the code accordingly.

            If you want to write self-documenting code, removing the comment isn’t good enough. One school of thought says that constants should never be hard coded. So you should write:

            int UTC_EST_CONVERSION = 8;
            orderTime.subtractHours(UTC_EST_CONVERSION);

            Then during a code review, I’d point out that the conversion was wrong. If it’s correct, I’d say to update the variable to “UTC_PST_CONVERSION”. Then stick a comment in there saying why you updated the conversion.

          4. ParteeTyme Brand Yohimbine-Rohypnol Injection*

            Contrary to a lot of commonplace popular assumptions, documenting code is mostly a bad idea

            I strongly disagree. A lot of comments are crap because they focus on useless trivia like

            int i = 0; // initialize i and set it to zero

            Comments and other associated design and architecture documents need to present a clear view of the system’s “Big Picture”, and present the system at several levels of details and abstraction. A lot of this may not be appropriate in the code comments – but it should still exist in the other documentation.

            This is the big problem that I see OP is facing: it’s not just a lack of comments. It’s a complete lack of any documentation. Which is typical of a big nasty pile of code that was hacked together by a single person in a week or maybe less because they needed a prototype now! When people do this, they’re almost always thinking “I’ll clean it up later – right now we just need something that works”. And quite commonly, when “later” happens, they’re too busy to perform that clean-up.

        3. Long Time Reader First Time Poster*

          It’s just not a real world expectation to work on well-commented code.

          1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

            Sure. But this is why I tend to think that OP’s boss is a jerk: his attempt at the “Socratic method” etc might be justified if he were teaching OP how to program.

            But that’s not what’s going on here; OP already knows how to program – the task here is to understand the huge pile of undocumented code that her boss wrote. There is almost certainly a lot of that code that is based purely on stuff inside of the boss’s head. Unless OP is a telepath, it is improbable that she will be able to deduce much of her boss’s logic. Playing these games, the boss is in essence saying “well, it was obvious to *me* – what, are you stupid that you can’t appreciate the clarity of my code and my thought processes?”

            And no, OP is not stupid. But the boss is a big douchebag.

        4. dancer*

          Agree with all of the above. It’s a fact of life to work on uncommented code. In my case, I work with a poorly documented library and there’s nobody to ask how things are supposed to work. I pretty much have to try things to figure it out.

      2. Vin Packer*

        WOOOOORD.

        The boss is clearly trying to teach, here, which is good considering OP is an intern and that’s how it’s supposed to work. But his pedagogy leaves something to be desired.

        Which doesn’t mean he’s evil–dude’s not a professional teacher. But I can see why it would be super annoying. I would shift Alison’s advice slightly so that it’s less “your boss is right and you are wrong; stop being defensive”* and more “your boss is trying to do ___ and it’s coming out awkwardly; try to rephrase what he tells you in your mind so that it doesn’t drive you up a wall, and try to phrase your questions in ways that anticipate his tendencies.”

        *original advice wasn’t worded at all harshly or rudely as this summary, but this is basically what it boils down to.

    4. squab*

      I agree with you. For one thing, small wins and progress are important for a junior developer’s morale. When you’re exhausted and stuck, sometimes just getting the answer and moving on to the next thing can be a god-send.

      Second, I’m all for “learning how to learn” — but that doesn’t always mean “learning 100% independently.” I can recall getting SO worn out by how broad the search space was when I was a newbie — when I asked questions, I didn’t necessarily want “the answer,” but some way to narrow the field a bit! “Look at X file” or “Look at Y method.” Barring that, I always REALLY appreciated when my mentors would sit down with me and walk me through the process of debugging. I learned so, so much by pair-programming that way.

      If a junior developer is making a good-faith effort to find answers herself, then I think a good manager will adapt their coaching strategy. This manager sounds like they’re being macho about the learning process. If I were the dev, I’d push back politely, maybe saying “I hear you about reading and understanding first. I’m giving it my best effort, but there IS a lot that I don’t understand here. Can we meet for 10 minutes to go over it?”

      1. Ad Astra*

        To be honest, the focus on learning 100% independently is a lot of the reason I haven’t had success learning how to code. I taught myself HTML when I was 12, but for some reason my adult brain needs more help. I’ve lost track of how many Codecademy courses I started and then abandoned. I’m thinking that’s an indication that programming-heavy jobs aren’t a good fit for me.

        1. squab*

          Honestly, I think it’s part of the machismo of the software industry. It’s not that way everywhere, but there sure are a lot of self-taught people who look down on anyone who asks for help! (And there are a lot of people who ask for help rather than spending five minutes to think for themselves, too, don’t get me wrong.)

          I really believe the best way to learn is to get paid to learn, in an environment that is supportive of learning. Those jobs are hard to find. But they’re out there!

          If you find yourself interviewing for jobs, be sure to ask questions that help you suss out their approach to learning: “What’s your on-boarding process like? How would you anticipate my first three projects being structured — will I be working on my own, or paired with someone else? What do you think it takes to be a successful junior developer here?” Etc etc.

          1. steve g*

            Good point I hadn’t thought of, the “machismo” or whatever you call it. The “I know this stuff which makes me really cool” attitude (even when said knowledge is googable) that is easy to get away with when you do work like this that not enough people understand how to do.

    5. Anon from work*

      Yes! A lot of people on this thread have mentioned that finding answers by yourself is a huge part of learning to code and I get that that is probably just an occupational/cultural difference that I don’t see in my job, but the fact is that the boss’s answers don’t even sound like “I want you to learn” answers, they sound like condescending “I’m smarter than you answers”. Saying “I can see the error.” is just unnecessary – saying something like “look at this part of the code” or “finding this error on your own will help you sharpen your skills” would be useful. Saying “That should have been the first place you looked.” does seem to have a condescending tone. Saying “When you have a problem with X it is usually an error in Y part of the code, so look there first,” would have been helpful and a teaching moment. Not to mention the whole, “read and understand first” thing, when she already did read and was trying to check her understanding with him (and I did read that smiley face as condescending, but maybe I am too touchy). It doesn’t seem like what he is saying (or writing) really reflects this goal to teach by having her find her own mistakes.

    6. TootsNYC*

      I think him saying, “I can find it right away” means: “This is actually a very simple, surface-type error. So look for simple, surface-type things. Like a semicolon is in the wrong place. It’s not going to be that the pointer and the cell now have different names, bcs that would take a while to see. It’s surface. Look at surface stuff. Try for yourself.”

      So the OP should have been saying, instead of, “How rude! Just tell me”:
      “Hmmm. What is the sort of stuff that can be spotted easily? Patterns; order; well-established rules. The kind of stuff you automatically look at. What is that, in this code?”
      (I’m thinking, in English, the comma-outside-the-quote-marks sort of thing.)
      And then she could have gone through the mental process of dividing up the types of errors, and looking for them.

      1. Chinook*

        “I think him saying, “I can find it right away” means: “This is actually a very simple, surface-type error.”

        It also means that wherever the boss was looking is where the bug is. From what I have seen, code run many screens long. If the boss can glance at the screen and see it, it means that the bug is sitting there on the screen, not off it. It would be the teacher equivalent of saying “you have a spelling mistake on p.5.”

        1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

          it means that the bug is sitting there on the screen, not off it

          I’m sorry, but this is almost always incorrect. (For example) if it is an OO language like Java or C++, the bug could reside in a superclass located in another file. The boss might see something and remember (or deduce) that there’s a bug in a member function far, far away.

  24. AndersonDarling*

    I’m on the opposite side of the fence on this one. I had a boss who would do this because he was a bully and wanted to control his reports. He would hand back a 12 page report and say, “There’s a mistake, find it.” We would look at the report for DAYS and the boss would sparkle with joy when we came back saying we couldn’t find an error. The “error” would be based on his misinformation or his opinion of how something should be reported.
    Not saying the OP’s situation is the same, but there are times people use this method to be an ass.

    1. TootsNYC*

      Difference being, the OP has asked the question: “What’s wrong with this?”

      Especially when the OP is being paid to find out what’s wrong.

  25. Menacia*

    I have to agree with Alison’s assessment in that I think your boss is trying to teach you how to figure out the answers yourself, especially because you won’t always have someone to ask questions of and will have to rely on your own resourcefulness. It’s easy to ask a question and get a direct answer but then you won’t learn how to use critical thinking which is crucial in being successful. I also work in the tech field, I use critical thinking on a daily basis, the way I find resolutions to issues is to ask questions, research on my own, trial and error, etc. You think that what he is doing is a waste of yours and his time, I do not agree, learning to program is a process, and in order to be a good programmer you have to use all the resources at your disposal, even the ones that don’t give you a direct answer, but point the way to finding it on your own. It’s much more satisfying for both the teacher and the student. Please follow Alison’s advice, and yes, talk to your boss, email can be very misleading as far as emotions. Just trying to give a different perspective. Thanks. :)

  26. Lillian McGee*

    When I was an intern, one of the lawyers I was working for would constantly ask me questions that I thought were way beyond my understanding of the legal issue we were dealing with… I was consistently bewildered. Then I realized that he was posing these questions rhetorically and I was not expected to respond at all! So I stopped shrugging my shoulders like a dope and started nodding pensively instead. Later I figured out that this is sometimes how they teach baby lawyers to think through issues in law school… I did not go to law school so I was not accustomed to this method at all. I prefer questions with answers other than “it depends”! Maybe (as some commenters above noted) the way OP’s boss is “teaching” her is similar to what they do in programming school and to which OP is not accustomed?

  27. MashaKasha*

    I’ve been a developer since 89 and the best of my mentors did things exactly like OP’s boss is doing them. (First guy that trained me in that way when I was entry level, I also thought was a jerk – it didn’t help that he really was a jerk outside of work, so it was easy for me to get confused – however the training that he gave me was very valuable and helped me a lot in my later career.)

    Telling a developer, “just replace A with B” is an easy way out that requires no effort on the mentor’s part and produces short-term results (replacing A with B works.) A lot of people would take that route, because OP is an intern and will move on to other places of work sometime soon and they’ll never see her again, and the assignment is due tomorrow. OP’s boss though, is putting in extra time and effort to teach her to obtain new information and develop new solutions on her own. Good for him!

    As an aside, “I saw an error skimming through the code. Can you find it?” is a question I’ve gotten on a few job interviews. So being able to quickly find an error, or knowing how to look for the error, in unknown code is a pretty useful skill not just for work, but for passing interviews.

    Also, few people in IT know how to do passive-aggressive. We’re just not that subtle, lol. (That was NOT a passive-aggressive lol, so no worries!) I wouldn’t worry about that.

    My advice for OP, then: don’t start looking for other jobs. Stay with this guy. He’s willing to teach you. Use that to your advantage until you’ve improved your skillset. Then you can decide whether you want to move on or not. This guy is good news.

  28. mskyle*

    Eh, I get what Alison and most of the other commenters are suggesting, and yes he probably is trying to help you learn, BUT I think there are limits. Especially when you’re working with undocumented code written by a single person, sometimes you just need that person to GIVE YOU THE GD ANSWER.

    I’m coming from a similar situation (coming to development as a third career, no CS degree, and I’ve been working full-time as a developer for two years now), and my boss has specifically told me, more than once, “If you’ve spent 15 minutes looking at something and couldn’t figure it out, ASK,” because there’s no point in wasting hours of my time when someone else can answer the question off the top of his head. Not all projects and people are good with interns and newbies.

    Maybe, though, you could do a better job of working through the problem before you ask – like:

    * Before you ask your boss a question, try to anticipate what he is going to say.
    * Where is your boss going to tell you to check?
    * Do you have any idea *where* in the code the problem is?
    * Write down the question, or talk it out out loud, or whatever. Then if you still can’t figure it out, you can say to your boss, “I’m having X problem with Y, and I think the problem is in the IF statement in lines 15-20, but I’m having trouble identifying the exact problem. I looked at this page on StackOverflow but I’m having trouble applying the solution.” This helps him see that you *are* looking.

    1. Dan*

      Yeah, the “undocumented code written by a single person” is the important part here. I highlighted this earlier, but I’d be shot if someone asked me questions about my code and I told them to figure it out themselves.

      BTW, no worries on the lack of a degree. Most CS degrees aren’t software engineering degrees; they teach you a little code. But unless the curriculums have changed, most programming work in independent; very little peer work goes on. So you get used to writing and debugging your own code. You don’t get used to picking up someone else’s code and figuring out the errors.

      If a professor handed you some buggy code without any documentation, and told you to fix it, you might not be able to. Why? If it’s poorly documented, you may not even know what it is supposed to do, or what the right answer should even be, let alone fixing the bugs yourself? That’s kind of the parallel here.

      1. sunny-dee*

        The questions weren’t about his code — they were about the OP’s code. She was asking him to identify the problem in her own work.

        1. Marcela*

          But she was working inside a bigger code, and it’s not always possible to isolate completely our own functions or snippets.

          1. sunny-dee*

            Yeah, except in this case, the error was in her own code, not the boss’s, and easy to isolate (he did it in under a minute before sending it back to her). This wasn’t an esoteric problem that was impossible to solve. And it is part of a larger pattern of the boss trying to get her to find her own errors or solutions.

            1. TootsNYC*

              And if he could find it in under a minute, then she should have been able to find it, even if it took her a lot longer.

              1. Marcela*

                But do we know if she kept nagging him for an answer during those 15 minutes until he gave up, or that he simply told her after 15 minutes?

            2. Marcela*

              Not necessarily. At my last job, the code was decently big, written by just one programmer. When I was introduced to it, I could debug small snippets for syntax errors or typos (as a matter of fact, my first task was simply read it, document it, organize it and clean it), but I was absolutely unable to find and fix errors when the problem was that the code wasn’t working as expected (as opposed as crashing or giving error codes), even when the small function I was adding was creating the problem. I simply didn’t know enough of the rest of the code to avoid crashing with the internal logic and flow of the whole software, and of course, if I just removed my function, everything worked! Many times I had to ask my coworker, since there was no documentation, and he always knew where and what the issue was, since he had spent 2 years designing that thing. Well, that is it until I took the project. 2 years later, he didn’t know what did what, since the project changed so much that I changed most of the internal logic.

              We don’t know if she asks first without googling. That’s just the impression of many from those 15 minutes.

        2. Naomi*

          But her boss wrote the original code base. OP is almost certainly modifying preexisting code a lot of the time, or calling functions that the boss wrote, or figuring out how to make her code interact correctly with his. OP’s work might look totally fine taken in isolation, but do something unintended when combined with the rest of the code.

          Honestly, my reaction to this was that the boss was being a little condescending, but I know I probably jump to asking for help more quickly than I should. (It’s also possible that boss’s intended tone is being distorted over e-mail, and if they were meeting in person he would express the same message in a way that wouldn’t get OP’s back up.) Without more specific context I can’t say whether he was right to push OP or if he should just have given her the answers. If OP is making mistakes out of general inexperience with programming, then maybe she needs to practice better debugging skills for herself; on the other hand, if OP is making mistakes because she’s unfamiliar with the specific project code, then the boss would probably do better to give her some guidance–in other words, he should go ahead and give her any information that she would have had if he’d documented the code. (Not sure if undocumented in this context refers to lack of external documents, comments, or both. In my experience, programmers NEVER comment enough–and I include myself in that.)

          Look at your humanities degree as an advantage, OP–it will probably make you better at documentation!

          1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

            This:

            But her boss wrote the original code base. OP is almost certainly modifying preexisting code a lot of the time, or calling functions that the boss wrote, or figuring out how to make her code interact correctly with his. OP’s work might look totally fine taken in isolation, but do something unintended when combined with the rest of the code.

            Joel Spolsky wrote a great column on this many years ago – in part:

            In general, I have to admit that I’m a little bit scared of language features that hide things. When you see the code

            i = j * 5;

            … in C you know, at least, that j is being multiplied by five and the results stored in i.

            But if you see that same snippet of code in C++, you don’t know anything. Nothing. The only way to know what’s really happening in C++ is to find out what types i and j are, something which might be declared somewhere altogether else. That’s because j might be of a type that has operator* overloaded and it does something terribly witty when you try to multiply it. And i might be of a type that has operator= overloaded, and the types might not be compatible so an automatic type coercion function might end up being called. And the only way to find out is not only to check the type of the variables, but to find the code that implements that type, and God help you if there’s inheritance somewhere, because now you have to traipse all the way up the class hierarchy all by yourself trying to find where that code really is, and if there’s polymorphism somewhere, you’re really in trouble because it’s not enough to know what type i and j are declared, you have to know what type they are right now, which might involve inspecting an arbitrary amount of code and you can never really be sure if you’ve looked everywhere thanks to the halting problem (phew!).

            When you see i=j*5 in C++ you are really on your own, bubby, and that, in my mind, reduces the ability to detect possible problems just by looking at code.

        3. Dan*

          One question is about the OP’s code, the other question wasn’t clear.

          It’s really not clear from the OP’s question if the OP is referring to issues with the OP’s own work, or with maintaining code the boss wrote, or both.

          I’m a little sypmathetic to the OP — she’s an intern with little experience, after all, and the boss’s feedback is usually “try harder.”

          Once in grad school, I came to the prof with a problem I had worked through for two hours without getting it right. I asked for help, and he worked through it in about 5 minutes. I asked the prof, “is the problem that easy, or are you just that good at it?” He told me, “it’s not that hard, but after 20 years, I better be able to work through this one pretty quick.”

      2. dancer*

        I have to disagree here. Even as a student, I was working with various software libraries; I think that’s the case for most of my peers. I learned how to deal with undocumented, poorly documented and other people’s coding styles as a student.

        That said, I am an engineer and not a CS major, so perhaps that’s the difference?

        1. mskyle*

          Yeah, I think part of the difference is that some of us were never using *any* code as “students”! My degrees are in biology and library science (no computer stuff with the bio, and very little with the LS), and I have learned pretty much everything I know about software on projects or on the job. And working with one-man legacy code is really hard when you don’t have much experience – it’s hard to tell what is a coder’s personal style and what is straight-up technical debt that should have been fixed years ago.

          I mean, saying, “If you had spent several years studying this stuff in school, you would understand better” is not super helpful.

          1. dancer*

            It’s not that I disagree with this statement:
            “I mean, saying, “If you had spent several years studying this stuff in school, you would understand better” is not super helpful.I mean, saying, “If you had spent several years studying this stuff in school, you would understand better” is not super helpful.”

            I was mostly disagreeing with Dan’s assertion that programming in school doesn’t give you experience with other people’s code.

    2. Mike*

      I’ve managed dev teams, and the truth is that each junior dev is different.

      Some will try to bull their way through everything, and bash their head against a wall for a week, when someone could have pointed out the open door in 15 minutes. Those devs, I tell to ask for help when they’re stuck, and try to reinforce those messages.

      Others just have no persistence, and will bug a senior dev the instant they don’t know something. Those ones, I try to get to figure out their own answers — “Before you go to someone else on this, make sure you’ve tried searching for it, and be prepared to explain what things you’ve already tried, and be able to ask a very specific question (“I don’t know what the third parameter for this method should be — these are the four possible values, but I don’t understand what these two mean, so don’t know which one to choose; can you explain what they mean?”) instead of a general one (“I don’t know how to do this, can you help?”).

      This could be an impatient senior dev, but my guess is, this is the second type of junior dev.

  29. Saucy Minx*

    I had a boss ten years ago who liked to play the guessing game. She was not a good teacher, though I could see that she supposed she was leading me to come up w/ the answers.

    During a year of working closely together, it became ever more apparent that she thought pretty highly of her own IQ, & rather poorly of most everyone else’s brainpower; although I certainly have my shortcomings, stupidity is not one of them. She didn’t see that her method didn’t work in our situation. I really just needed an answer as to what the client wanted, so that I could write the copy.

    The OP does sound defensive & anxious. To me, her boss doesn’t seem to be mean or condescending, but if she has tried everything she can think of & hit a wall, his method is adding to her frustration. Clearing the lines of communication, as Alison suggested, would be a good idea. Many people like to teach w/o realizing that there is more than one way to learn.

    1. Yet Another JD*

      + a billion. Been in a similar situation and sometimes, you just need the right answer – or at least a closer hint!
      This may just mean I’m unsuited to coding/generally untrainable but this method of “teaching” would completely frustrate me – which would stop the learning completely, this achieving the opposite of boss’ intent.

      1. moss*

        Part of it is, there’s no one way to do things. So even if the boss gave the answer immediately, that might cut off the thinking that could come up with an even better answer. It’s never in the boss’s best interest to give out the answer straightaway. He’s not paying the intern so the only benefit of the job is to her. If he gives her the answer, he teaches her that 1. he’s the authority and she cedes her own and 2. that answers are easy, which they are NOT.

  30. moss*

    OP I’m a computer programmer and your boss is doing exactly what I would do as well. I completely agree with AAM that he’s trying to teach you to think for yourself & doing it in a collegial way, not in a condescending way.

    Programming is really all about those lonely hours when we’re beating our heads against the keyboard because there’s no reason X shouldn’t work and yet X doesn’t work. The most important quality in a programmer is the ability to get through those times and that’s what your boss is trying to teach you. He wants you to spend time looking at code until your eyes cross. He wants you to try different approaches. He’s trying to increase your resilience and ability to try things on your own. He’s not being mean, at all! He’s taken a chance on you because he sees something in you, and he’s kindly refusing to hold your hand because that’s not going to lead to you to success. You HAVE to be able to figure things out on your own 99% of the time.

    I am not sure what gets taught in those programming bootcamps but logic and syntax is only part of it. The meat of being a programmer is getting frustrated and working through the frustration to get a solution. I’m not sure if they taught you that at all but if they didn’t you need to learn and he’s giving you a perfect opportunity.

    Please, as AAM says, try to change your attitude. You have a great chance here and your boss is not being a jerk. It’s a struggle, see it as a struggle and see it as one you can master and you will go far. Give up, expect easy answers or hand-holding and you’re probably not cut out to program.

    1. De (Germany)*

      Yeah, exactly. A day in my workplace, if I asked someone else after less than an hour of trying to figure stuff out, I’d be looked at funny. Debugging is just a big part of what we do. And I know it’s easy to feel like you are stupid if you are still at the same problem after an hour, but it’s really, really normal.

    2. Mike C.*

      I’m really seeing a lot of folks with your experience and I wonder if this isn’t some sort of self-selecting hazing ritual, at least in part.

      1. moss*

        It didn’t feel difficult to me but I’ve tried to teach others and they just don’t get it. My first programming class in school, most of the people failed the exam. It was one of those typical weed-out classes. So I can totally see how it’s not for everyone. Me, I’d rather write code than write papers.

        1. Mike C.*

          I hate this practice so much. It’s like that stack-ranking BS you see in the corporate world. Artificially limiting the number of people who can succeed is simply nuts.

          1. moss*

            It wasn’t artificial at all!! One part of the test I remember is to debug a section of C++ code. One of the bugs was the semicolon was missing at the end of a line. (First test in CS101.) You have to be able to see things like that if you’re going to succeed. People who didn’t see it washed out. It’s not like they picked only the best 10 people in the class. The people who could do the work got good grades. The people who couldn’t do the work (the whole process of the work, including troubleshooting and designing) did not continue on. Please don’t make assumptions.

            1. squab*

              I can’t help but come back to this. It sounds like your making the argument that being able to find a missing semicolon is a native skill that a person either has or doesn’t have; and that without having this skill, one can’t hack it in CS and should therefore wash out.

              I just don’t buy it. And I doubt you actually buy it, either, considering that below you’ve applauded a uni implementing a two-track intro CS course!

              Somebody being really good at finding syntax errors in code might possibly indicate that they’re detail-oriented… but it seems MUCH more likely to indicate prior experience with coding. It’s something that can be learned. I’m with Mike C in hating weeder courses.

      2. sunny-dee*

        It’s not hazing — it’s part of what you have to do to be an effective programmer. It is as much a part of the skillset as anything else.

        1. Mike C.*

          It’s the same sort of comments I saw in college in a lot of different technical fields, including programming. Lots of very experienced folks talking about how you have to suffer through this or that because “that’s how they did it, and it worked for them”. Turns out the school got a new president, changed how a lot of those courses were going, and significantly improved results.

          I’m not trying to say that this is something like a frat hazing (which is why I was careful to qualify my statement), but what I am trying to point out is that this sort of field is really good at weeding out lots of people who would otherwise succeed or even have an easier time because many who are already there are locked into a rather narrow worldview as to how “things ought to be done”.

          1. TootsNYC*

            Every now and then there’s a frat or sorority that used initiation instead of hazing–they give their pledge class activities and pressure that will tell both parties, “Does this person fit in? Will they be willing to spend time on charity events? Will they be willing to step up and help fellow members even if it’s inconvenient?”

            And that a “stress test” process that makes sense. And maybe that’s the “initiation” process that those sorts of classes and tests do for programmers.

            “Is this for you? Let’s put you through a stress test–through ‘what we are’ and ‘what we do’ in a more-intense-than-normal situation, and see if you can hold up. Because then you can handle the less-intense reality.”

            1. Mike C.*

              The whole “stress test” thing losses it’s luster when part of frosh weekend includes teaching parents the signs of someone who is planning to commit suicide.

          2. sunny-dee*

            It’s not because “that’s how they did it” — that’s what you’re missing. It’s because being able to debug your own code or come up with your own fix for a problem or read and understand a technical text is part of the job. The boss is not having the OP do a single thing that isn’t a requirement to be a programmer; she’s complaining because he’s not handing her the answers. But being handed the answers isn’t part of the job; if she can’t learn to figure things out on her own, then she won’t be a good programmer.

            That’s not hazing. That is training.

            1. Chinook*

              “It’s because being able to debug your own code or come up with your own fix for a problem or read and understand a technical text is part of the job.”

              I am not a coder but I understand exactly what you are saying. Debugging is the equivalent of proofing your own essay. Most junior high students would prefer to hand in their first copy and be done with it. There is much whining, complaining and dragging of feet if they are required to hand in two or three drafts with proof of edits and proof reading that include more than the squiggly lines from running a spell-check. They would so very much prefer to have the computer do their checking and just hand it in. But, if they can’t learn how to find their own mistakes, they will never know when spellcheck is wrong or improve themselves as communicators.

            2. Mike C.*

              I’m not saying you shouldn’t be able to debug, I’m saying that this particular method of teaching is incredibly asinine. She’s complaining because the questions aren’t helpful. Asking, “I see the mistake, do you?” is incredibly stupid. If she saw the mistake, would she be asking the guy for help? That’s no helpful, especially when there’s no documentation.

              1. De (Germany)*

                I say that depends on the context, actually. I have probably uttered that sentence myself, while putting my face in my hands and groaning. It means “argh, why didn’t I see it before, it’s so obvious now!” and isn’t meant to imply the person next to me is stupid for not seeing it before. And At the very least, it means that right now, the bug is on the screen and so the place where it is is narrowed down to a few lines.

          3. De (Germany)*

            Quite frankly, I think saying that this is somehow needless weeding out of people is like saying the same of having med students cut open corpses or endlessly training to do sutures. Or having new lawyers do document review for days. It really is just part of the training and it is needed later in the job, where you often can’t ask someone who’s more familiar with the job, because that person isn’t around or can’t help you. It’s weeding out, but it’s not needless.

          4. Goliath Gary Willikers*

            Interestingly, I was just talking to someone in my university’s engineering and computer science school, and they mentioned they had started introducing two different versions of intro classes, one for beginners and one for experienced students. The same material was covered in both classes, both classes were held to the same standards, but the novice students suddenly weren’t learning in an environment of “you really don’t know how to do that? I taught myself how to do that in grade school” dick-waving from other students and profs.

            It’s already had an impact on their retention rates among women and minorities. (Less fun fact: previously, nearly half of the students who dropped out of the engineering program were succeeding academically, but dropped out for culture fit reasons.)

            1. moss*

              That’s an AWESOME idea, good for your Uni! I hope great things come from that. We need more diverse coders, for sure!!

      3. dancer*

        Yeah, definitely not hazing. It’s how we end up actually working from day to day. I can’t imagine be able to do my job if I hadn’t learnt those debugging skills. And in hindsight, I really strongly feel that it’s something you just have to do yourself because you have to find the way to do it that works best for you.

        1. Mike C.*

          To continue from my comment above, it’s not about never learning how to debug, but rather I question whether or not this Socratic method is really the best way, simply because “it’s how it’s been done before” and “it worked for me”.

          I ran into too many professors who were stuck in their ways of throwing people into the deep end of the pool to teach them to swim when something a little more reasonable would have been more useful and wouldn’t have inadvertently convinced otherwise capable people to find something different to do.

          1. dancer*

            Teaching someone how to think in a certain way is hard for sure. When I used to TA math, students would get very frustrated that we wouldn’t just give them an answer, which I think is part of what’s happening here. I’d try to point them in the right direction by asking leading questions, but at some point I couldn’t break it down anymore without just telling them the answer, which I wasn’t willing to do if they hadn’t shown any evidence of having tried.

            I’m sure they thougth I was being unhelpful, but from my experience just giving them the answer wouldn’t help develop those thought processes. Sometimes it is necessary to just take a break and come back to think about things again.

            1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

              When I used to TA math, students would get very frustrated that we wouldn’t just give them an answer

              I took over 30 college credit hours of math when I was in school, and unless you were TAing a class in Real Analysis or something equally ‘out there’, the way you teach math is not by asking leading questions. You teach math by showing students how to work the problem.

      4. Tau*

        I’m with the others. It’s an essential part of the job. It’s not optional, you know? If you’re a programmer, you are going to write code that doesn’t work. And someone is going to have to go in and figure out why the code doesn’t work and fix it. And if you’re a programmer, doing that is also your job. (Never to mention that you’re almost the only person who easily can because you’re intimately familiar with your code.) Nobody will hire you to write buggy code and then go “well, I don’t know what’s wrong with it.”

        I’m… not really seeing what you think should be done differently here? If her boss simply gives OP the answers, then she won’t have that experience with dealing with the frustration and won’t have the experience with where to start looking and how to search for an error methodically instead of flailing around when she starts writing more complicated code where he *can’t* find the bug just by looking it over once. And then she will be well and truly sunk.

        1. sunny-dee*

          And another point — if there are multiple programmers on a team, at some point, you have to be able to do peer reviews. That could be troubleshooting a compile error, but more frequently, it is being able to look at the code and identify a corner case problem or a performance issue which may not be manifesting yet. If the OP can’t learn how to analyze code, she simply can’t do the job.

          1. Mike C.*

            I haven’t said anything about not learning how to debug or analyze code, so I’m not sure why you’re bringing it up.

            1. sunny-dee*

              Because she couldn’t debug or analyze her own code and wanted the boss to tell her where the problem was. It is the first example she gave.

      5. Quirk*

        Mike, what I think you’re missing is that most of the stuff that matters in software development cannot be easily taught.
        – The ability to reach novel solutions is unteachable. You can give people tools, but the sparks of insight and originality have to be nurtured from within.
        – The knack of coming up with self-explanatory but scalable design is unteachable beyond the basics. You need to make mistakes and recognise that they were mistakes as the design evolves later – and this process carries on indefinitely, because no design you create is perfect. The most you can do for the novice is to draw attention to design approaches that are now widely considered bad practice.
        – The obsessive attention to detail you need to avoid mistakes, and, beyond that, the sadistic inventiveness you need to work out the edge cases that could ruin your approach, are things unteachable. You cannot teach someone else to be a pedant. You can only cultivate your own pedantry.

        Also, just to be clear, because I’m not sure if you picked it up: “you have to figure out things on your own 99% of the time” does not refer to learning to be a software developer. It refers to the day to day experience of a typical software developer. As a software developer, you are always learning new APIs that nobody you know has worked with, always being given tasks which are distinctly different to tasks anyone you know has solved. It’s intellectually taxing, it’s frustrating, it requires immense reserves of patience, and it makes you feel like some kind of genius on the occasions that you plug your big complex system together and it just works.

  31. Business Cat*

    This exactly. I’ve been learning this hard lesson in my current job, which has been wildly frustrating and out of my comfort zone in a lot of ways. Although it’s not always in the tone that I’d prefer or in the manner that I think it should be communicated, my boss really HAS been coaching me to find the answers to things that I need on my own, and now every time I want to ask him for an answer I manually stop myself and go through a series of steps to make sure I can’t find the information I need without his help. It is that much more gratifying when realize that I can, though the process of getting there has been agonizing and not without its fair share of “Ugh but why can’t you just tell me the damn information??” In other words, OP, grit your teeth and bear it if you can (if Alison’s suspicions are correct), as the mental gymnastics will be useful to you later on.

  32. Jeras*

    I kinda disagree with Alison.

    OP isn’t a student who needs to be taught how to think and gather information, she’s a worker. I get the impression that OP isn’t running to their boss for basic things they could find the answer to on Google, but for things specific to this project, which the Boss is obviously more familiar with. Maybe the needs for this project haven’t been clearly laid out, or priorities keep changing.

    If OP has hit a wall and then goes to her Boss for help, why drag it out if he’s going to provide the solution anyway? OP’s boss could provide them the answer and in addition to that, be like, “I found this article helpful in regards to XYZ. ” We’ll be focusing a lot on XYZ, so it will definitely be a good resource for you to use.”

    Maybe I’m a little biased. I hate hate Hate It when I go to someone when I need help after exhausting all options and avenues and they want to play 20 questions and all I want to do is have the answer so I can finish the task. Understanding WHY the solution is what it is, is important, but OP didn’t seem to be against the Why, only the unnecessarily protracted path to the solution.

    1. Vorthys*

      But she IS a student. In programming and related fields, one has to be teaching their interns and often their new grads a variety of skills that they can’t get elsewhere. Generally, these less experienced folks don’t learn the debugging and problem-solving critical thinking skillset from bootcamp or even from a college program. If they haven’t already gotten it from previous experience, they have to be taught how to think and gather information in a way that doesn’t come naturally to most everyone.

      The challenges that OP will be facing will likely frequently involve increasingly complex problems without right or good answers, and learning how to approach them early on is crucial. I’ll admit it’s frustrating, but it’s usually very effective.

    2. Christy*

      But she’s an intern! If you ask me, the whole point of the internship is teaching her how to think.

    3. Cucumberzucchini*

      That’s not how it works with coding/programming. 15 minutes trying to solve a problem is not a long time debugging something. I’ve spent hours trying to teach myself something. This is an intern. The expectation is there is going to be that kind of time commitment spent on the learning curve. Spending 15 minutes is not exhausting all options.

      I think this boss sounds great, nowhere does the OP provide an example of the boss getting angry at the OP not getting it, just nudges and redirection. This is the best way to learn coding/programming.

      I think the OP is being unrealistic on the time it takes to debug especially when you’re brand new to it. To succeed in programming you need to have a very strong DIY drive. I’ve had subordinates where I was up against a deadline and I’d tell them, if you get stuck for more than 20 minutes on this please come show me so I can help because we have a hard deadline on this. But otherwise the best way to learn this kind of stuff is to just feel like a complete ineffectual moron until you have your lightbulb moment.

      1. De (Germany)*

        15 minutes, even 30 is really nothing. Stepping through all functions, inspecting variables and objects, trying to change code, trying to change variables, writing tests (!), that stuff takes time. Looking at the code might take 15 minutes, but that usually doesn’t show you what’s wrong.

      2. Marcela*

        We don’t know if she spent just 15 minutes. Just that was the time between her chat to the boss and the reply.

        1. sunny-dee*

          No, she spent 15 minutes before he gave her the answer. It doesn’t say how long she spent before she initially asked him, but that’s a really small window where he waited for her to look again.

          I’m not a programmer, but I deal with XML in my job, and I have spent 7-8 hours debugging a single error in an XSLT. It’s …. not even a thing, really.

          1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

            I’m not a programmer, but I deal with XML in my job, and I have spent 7-8 hours debugging a single error in an XSLT. It’s …. not even a thing, really.

            Frankly, this kind of “if it were me, this would not even be an issue” thinking, with its casual contempt for people less adept than you are, is exactly the kind of attitude that leads to the types of problems that OP is encountering.

            1. De (Germany)*

              Oh, come on. This is not casual contempt, this is saying what the expectations are. The OP might think that an hour spent on a problem means that she needs to get help with something, which is completely reasonable in some fields, while many people here are saying “no, that’s completely normal for computer programming”.

              1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

                No. You are missing the point. I think we can all agree that debugging can take lots of time. The casual contempt is in the phrasing: I have spent 7-8 hours debugging a single error in an XSLT. It’s …. not even a thing, really. The phrasing is dismissive and insulting, it’s the writer bragging and getting in a little dig at the OP, essentially saying “I never have a problem with it; you must not be very good.”

                There is a LOT – waaaay too much – of this attitude in the software biz, and it is not a good thing.

            2. moss*

              I agree with De. Eight hours is nothing. It takes a pilot 6 hours to fly from NYC to London. It’s not because the pilot is better than other pilots or worse, it’s just that travel time is part of the job. When you’re programming, debugging is just part of the job. Giving up after 15 minutes is like turning around after you pass Long Island.

    4. MashaKasha*

      But a huge part of working in this particular field is having to learn and figure out new things all day, every day, for the rest of your life. It’s not like you go to your classes and your initial training at work, learn how to do things, and keep doing them that way till you’re 67. If that were the case, then yes I would disagree with the way OP’s boss is training OP. But it isn’t. The thought process he’s guiding her through is what she’ll have to do every day in this field.

      I hate hate Hate It when I go to someone when I need help after exhausting all options and avenues and they want to play 20 questions and all I want to do is have the answer so I can finish the task.

      If OP has exhausted all options and avenues, then that’s what she needs to tell the boss. “I tried A, B, and C, here are the results I got. What am I missing?” That’s very different from saying “It’s not working and I don’t know why, tell me.”

        1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

          With all due respect: this is almost always not true. A trivial example: “it says ‘i = j * 5;’ but when j=4, it assigns the value -24 to i”. “Oh – that’s because I overrode the definition of the * operator to subtract 44 from the result if one of the operands is a constant.”

          1. Elsajeni*

            But what are the odds that any given bug will be that easily solved, versus getting the response “Huh, that’s weird — does it only happen when j=4?” In which case you really would rather be able to say “Yes, it’s so weird!” or “No, it seems to happen for any value of j, and it always returns j – 28” than “Uh, I don’t know, I just came straight to ask you the first time it happened.”

            1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

              Well – we don’t know that she went straight to ask her boss without doing some testing first. For instance, she wrote “I thought if I sent him an email demonstrating that I’d tried several things and asking for very specific advice,…”

              As for the odds that the bug would be that easily solved? It’s irrelevant: I just manufactured one out of an infinite number of examples to disprove the (rather peculiar) notion that simply pointing out the answer wouldn’t help the OP.

              Again I’d like to point out that OP’s job here is not to learn to program. Her job is to learn how to maintain this large undocumented code base that her boss wrote all by himself. A certain amount of this is going to involve the boss taking some time to actually explain things.

              I will venture to say that the majority of people participating in this discussion have never been handed a job such as this, and have no idea of just how challenging it can be.

              1. Elsajeni*

                Yeah, that’s true, I think I responded to a point you weren’t actually making — sorry about that. I definitely agree with you that there’s room for the boss to do better. I don’t think he should go straight to “Oh, the problem is X and you fix it by doing Y,” because of what I said downthread about the goals of internships — I think it’s genuinely more useful to the OP to learn norms of “how to deal with difficult code problems” or “how to debug/troubleshoot on my own” that set her up for future jobs than to learn details that might really only be applicable to this specific job. But there’s a lot of middle ground between “I saw the problem right away, can you find it?” and just giving the answer right away — how about “That error message usually means there’s a problem with a [thing] somewhere” or “Well, I’d start with checking all the [doodads]”?

      1. LBK*

        Yes, exactly – it’s fine to ask these questions if you’ve already done your work and if you make it clear to the other person that that’s what you’ve done. That’s why my first question in response to these inquiries is “What did you already try?” If the answer is “nothing” then I’m just going to give you troubleshooting steps – I’m not going to spend my time doing that work for you. If you can walk me through what you already did, I’m more willing to go over the code and be a second pair of eyes, since then it’s more likely it’s just some typo you’ve gone blind to after looking at the code too much.

    5. Elsajeni*

      She’s not a student, but she’s not exactly an employee, either — she’s an intern, and part of the point of internships is (or at least should be!) to teach the intern something. And often what interns need to learn is not just facts, but processes and norms. In this case, it seems like the OP’s boss is focusing on teaching her some norms around how a developer is expected to deal with difficult problems and uncertainty, possibly at the expense of teaching her some facts like “this error message means that the problem is X.” I do think it would be nice if he had communicated a little better about that from the start of the internship, because it sounds like it’s not lining up with what she expects — but I do think it’s reasonable, and honestly probably more helpful to the OP in developing her skills and her readiness to move up in the field than just saying “Oh, error message Y? Yeah, change the teapot variable to X, that’ll fix it.”

  33. Meg*

    I’m a senior software engineer (web applications) and yes, your manager is trying to teach you, but it sounds like you don’t know what you don’t know yet, which is normal, especially with a code base with no documentation and a silo of information (your manager who wrote it). Perhaps it’s not really a solution problem as in “I don’t know the answer” but rather a troubleshooting/debugging discrepancy.

    Giving you an article to read about the solution doesn’t help if you don’t know what the problem is in the first place. Instead of asking for the answer from your manager, perhaps try asking what the error IS first of all. Does the error produce certain error messages? What do those error messages indicate? Start by investigating what the error code/messages mean with Google or StackOverflow. If it references things in the code like “Reference Error: foo is not defined”, search the code for foo and see where it gets defined and start there, backtrack through the code before it gets there.

    Your manager could help in this sense by guiding you to find the problem yourself – “what’s the error message? what part of the code does the error message refer to? What does this article say about the problem?”

    tl;dr — ask your boss to help you find the problem rather than the solution. “why doesn’t this work?” isn’t really helpful because as a programmer, it’s the ever-internal question (the other question is “why does this work?” Two sides of the same coin, really). Ask for the purpose of the code. What problem is the code supposed to solve?

  34. Jerzy*

    OP’s letter sounds like it could have been written by a programmer that my husband has been mentoring for nearly a year at work. This guy tries hard, but is, as Alison puts it, too quick to go to DH for the answers, and even though it would increase the speed at which the work gets done, DH knows that he can’t just give the answers to his mentee.

    That said, there are a couple of reasons why OP might be taking offense where perhaps none was intended. Firstly, by communicating mostly through email and chat, tone is lost, and if this is someone who tends to be blunt in how he speaks, and he is being vague in his answers, I can see how that might come across as condescending. Secondly, as someone who is the child of a computer engineer, who is married to a programmer, I can tell you, there is a personality type that is rather common in this field, and one of the main characteristics of this type is being bad with people. They don’t mean to be, but being personable is generally not their top priority, and even when they do try, it can sound sarcastic even when that’s not intended.

    I agree with Alison. Try assuming he wants to teach you, not put you down. You might also assume that any perceived condescension isn’t intended (unless really, REALLY overt). He might just be bad with people, but is trying to help you excel at your job.

  35. misspiggy*

    So it sounds like the OP might want to start saying, ‘I’ve done x and y and looked into a, b and c. My brain has got stuck – can you suggest any avenues I could try to approach troubleshooting this?’ And then in the next query, make it clear that she’s already tried troubleshooting approaches the boss has taught her.

    1. J.B.*

      I like that approach. There’s a difference between getting ideas and wanting everything spoonfed. Especially when you’re new and not in the office in person.

      When I was brand new to the workforce my boss tossed me something and said “work on this” and I said “I don’t know how” so he said “figure out how”. His approach was not a good one for the field – me working on something totally wrong and then having to redo it wouldn’t have benefitted anyone and in some situations could be dangerous. However I have since realized my phrasing should have been different, instead of “I don’t know how” it should have been more action-oriented like “how do I start” or “what references can point me towards an answer”.

  36. ggg*

    This is indeed a popular teaching method. I hate this method. I think there is a balance between helping people to help themselves, vs. sitting there and watching while they squirm to figure something out in front of you.

    I had a graduate math TA like this. I would go to his office hours, ask for help with a problem, and he would say, “All the information you need is in chapter 4.” Obviously I had read chapter 4, of this incredibly dense, terse textbook, and it made no sense to me, and that is why I was trying to get some help. But he would only ever repeat, “All the information you need is in chapter 4,” like Yoda.

    So I failed that class. When I took it again with the same professor, he said, “No one really liked the book last time, so I wrote a new one that is much easier to understand.” Between that and a new TA who was willing to get me started on some of the tough problems (not spoon feeding the solution), I had a much better understanding the second time around.

    1. Mike C.*

      Those math texts are *insanely* dense. I still remember my first analysis course that used maybe the first half of Rudin’s “Principles of Mathematical Analysis”.

      1. Christy*

        Baby Rudin! Yeah, baby Rudin is tiny, but there’s SO MUCH in there. My (only non-audited) analysis course used baby Rudin and it was the single hardest class I’ve ever had. It’s the second-hardest my brain ever worked. (The single hardest was calculating double-compound angles and then figuring out how to use a miter saw to cut those angles, but that’s another story.) And that book was so different from all the other math textbooks I’d ever had! Oh man, I miss math. Programming scratches similar itches, but I miss math.

    2. Tau*

      I’ve been a math TA (well, tutor) and I think if I’d done that my supervisor would have summarily shot me! There’s a trick to guiding a student through without spoon-feeding the answers which is admittedly *very* hard to do – I’m not sure I was ever that good at it, although I tried my best and did get a few gratifying moments where I could see the lightbulb go on over someone’s head – but just going “it’s in chapter 4” and walking away is completely ridiculous.

  37. Bostonian*

    I’ve worked across various jobs and talked with my spouse in some detail about her job, and one of the things I’ve noticed is that the amount of time you’re expected to spend on something before asking questions varies a *lot*. In one admin job, my questions were almost always basically factual or clarifying, and I talked to my boss many times a day anyway, so I had a pretty low bar for when I would ask him about something. My wife had one job where her boss instituted a policy that she and her coworkers had to write up a memo outlining their questions before coming to talk to him – his time was legitimately that much more valuable than theirs, and the questions were often the kind that could be answered, or at least clarified and crystallized, with more research and thought.

    So in addition to trying to teach you, your boss may be trying to communicate that you’re interrupting him too often or not spending enough time working things out on your own before going to him. Essentially, you may not be correctly evaluating what each of your time is worth. It’s frustrating when you know that he could do something in 3 minutes that would take you 30, but when you factor in the disruption to his workflow that may be a perfectly reasonable time tradeoff from a business perspective.

  38. Amber Rose*

    Also OP, you’re an intern, so the expectations are a little different and in this case, that’s really to your advantage. You’re not at a level where “this must be done NOW.” Instead, you’re at a level where you’re expected to study, go slow and figure stuff out.

    I think you’re just running into that difference between being a student, where teachers and tutors will answer all your questions all the time, and being an employee, where you’re expected to figure stuff out and only ask questions on things you really can’t do yourself.

    Try to see this as your boss working to build your confidence and self reliance. It’ll be so valuable to you later on.

    1. Kasia*

      I was coming here to say something similar.

      It’s easy to think that what you’re doing is super important and needs to be done immediately but that’s usually not the case. Unless something is a true emergency, you’re never going to be expected to get it done in as little time as possible, especially has an intern.

      Not to say your projects are pointless, but in general they probably wouldn’t give an intern something that’s so important it needs to be done ASAP

  39. Laura*

    I’m going to have to disagree with the OP because this is typical behavior of managers in the field. The other minus is that you’re not a CS graduate so you have to work harder than a CS graduate to gain experience and be considered competent, never mind, excellent as a coder. And finally: he’s a man and most men tend to be like this. See Eleanor Roosevelt’s advice:
    ” In 1936, she summarized for women in public life what she had learned:

    ”You cannot take anything personally.

    ”You cannot bear grudges.

    ”You must finish the day’s work when the day’s work is done.

    ”You cannot get discouraged too easily.

    ”You have to take defeat over and over again and pick up and go on.

    ”Be sure of your facts.

    ”Argue the other side with a friend until you have found the answer to every point which might be brought up against you.

    ”Women who are willing to be leaders must stand out and be shot at. More and more they are going to do it, and more and more they should do it.”

    She added that ”every woman in public life needs to develop skin as tough as rhinoceros hide.”

    1. Chinook*

      “And finally: he’s a man and most men tend to be like this”
      Laura, I have to agree that I wonder if part of this is a gender issue, partially because the OP identified herself as a female coder and her boss as male (which normally should be seen as irrelevant information as I could see either gender having this issue). But, having worked in male work environments and female work environments (with both genders in both – think pipeline vs. nursing), a “male” work environment does seem to promote not taking anything personally and compartmentalizing your feelings from the job while a “female” working environment does seem to encourage you incorporating your whole emotional self into the job. Both have advantages and disadvantages and different personalities (across both genders) thrive in each of these environments.

      I love the Eleanor Roosevelt and I think she is dead on for describing strategies for surviving a “male” work environment (it is almost like she had been there, done that., eh?)

    2. Cassandra*

      I noticed the gender thing as well, and would inject one more suggestion for the OP, if possible: gauge how the boss treats other coders of any gender, ideally ones of similar experience levels to the OP.

      I have a good friend, a female coder, who had to leave a promising job very quickly because her boss pulled “figure it out!” stunts on her (forbidding her from talking to her coworkers, even!) while immediately answering similar questions from her male coworkers in a hail-fellow-well-met fashion.

      If this is what’s going on — and I’m not saying it is, I’m just saying it’s a Thing That Can Happen — don’t walk, run away from this internship.

  40. Bekx*

    I’m a web designer, but I’ve done some C++/Java coding in addition to my web design & development coding.

    One thing that helps me when I’m looking for an error is to comment out certain sections of the code and see if that helps me identify the problem. If the entire web page is displaying weirdly, then I’ll try commenting out the CSS first and see if it’s a css error. If it still is weird, then I’ll comment out the table I added…or the giant content block. I haven’t done Java or C++ in awhile, but I know you could apply it to that as well, depending on the program.

    1. moss*

      This is excellent advice and will work in any language. I just did that last week for a program I had. I had to use stuff other people had written and modify it. When the code crashed, I started commenting out things. “Well, it works up to HERE, now how about up to THERE.” This is the process. Eventually I found the problem. It was frustrating. I couldn’t take it to anyone, just had to figure it out for myself. There is time built into deadlines for weird stuff to come up and to troubleshoot it. It’s how everyone has to do it. OP, how do you think your boss got all that code written? It didn’t just come tripping lightly off his fingertips. He’s put in hours upon hours of frustrating, solitary time.

      Sorry to hit this so hard, I guess this post struck a nerve.

    2. Nashira*

      I spent all last night commenting out parts of an assembly program to discover where and why a procedure was barfing. Also life saving is the step-through function of IDEs like Visual Studio.

    3. Tau*

      Yes!

      Also, really see if you can find a good IDE with:

      – excellent syntax highlighting and syntax error highlighting. I have no more errors due to semicolons, variable typos, type mismatches, and a whole bunch of other stuff, because the program points them out straight away.

      – a good debugger. I use Visual Studio and can proceed through my code line by line or use break points, and at each point see exactly what the variable values and object values etc. are. It’s a lifesaver!

      A lower-tech alternative is to add lines of code that tells you where you are and what the various variable values etc. are explicitly through console or popup window or the like in various places and see what happens.

  41. azvlr*

    This letter could have been written by me! Only I’m not a programmer. . .

    My team lead is a big fan of Socratic questioning (as I was until I worked with them), and I could feel the frustration whenever I asked questions. It got to the point where I was scared to ask questions and would spend days trying to find the solution myself.

    When I finally did get the courage to ask, I learned to document everything I had tried up to that point and what I thought the answer might be. This was helpful, when asking, but the time I spent searching on my own and then documenting what I had done seemed horribly inefficient. A simple question such as, “What color of border should I add to text boxes?” turned into hours spent comparing with earlier work, which was often inconsistent.

    I eventually figured out that part of the reason they were annoyed was that no set procedure was in place, so I was asking them to think about something they didn’t have an answer for (but should have). I feel we have worked past this: I now have a better understanding of what procedures do and do not exist. Also they have learned to trust me not to screw up royally and to own up to mistakes when I make them.

    1. Katie the Fed*

      “A simple question such as, “What color of border should I add to text boxes?” turned into hours spent comparing with earlier work, which was often inconsistent.”

      OK, well that sounds pedantic and terrible.

      1. azvlr*

        On my part or theirs?

        Maybe not the best example but it is fairly important that our work is consistent from project to project, and that all of us are handling things the same way. I jjust don’t think it had been thought out before I came along.

  42. Katie the Fed*

    I think it sounds like you have a great boss! He’s teaching you to fish, not just giving you a fish. By your own admission, you’re not really trained for the field you’re in, and he’s helping you figure out how to find answers – this will serve you really well.

    As a boss, there are some people I have to do this with a lot, because they need to learn to be more independent and need to develop their problem-solving skills. And frankly, I don’t have time to answer 100 little questions all day that they could figure out for themselves.

    I would start meeting him halfway and telling him what you already tried. “Boss, I already looked at x, y, and z for guidance and tried a, b, and c, and I’m still stuck. Can you please help?”

    1. FJ*

      +1

      OP, it looks to me like you are trying things on your own first, but maybe your boss doesn’t realize that. Have you prefaced your emails with “I’ve already tried these blah blah things, but it’s not working, so here is my question”

      That might help set the tone better.

  43. Lacy*

    I can understand that this would be annoying, but I agree with the general consensus that your boss is trying to teach you.

    Being inexperienced in a field is frustrating enough, and I totally understand why his behavior is getting to you, but it’s a necessary evil.

    I also am assuming he is aware of your frustration. Writing “thanks” and immediately signing off of chat is a pretty clear statement, so I do think he should have told you why he responds the way he does. But either way, it’s a good thing. I think in several years, or even by your next job, you’ll appreciate what he did.

  44. Annalee*

    I have to disagree with Alison on this one. I teach a programming class. It sounds like the LW is doing the right things–trying to solve the problem themselves, not giving up at the first error message, and approaching their boss with specific questions.

    I also used to be in the LW’s shoes–a career-switch learning to code on the job and afraid to ask my boss questions because the line between “teaching time” and “no seriously I am already so frustrated that if you turn this into twenty questions I will burst into tears” is not readable over chat. Sometimes you just need a straight answer.

    Our industry has a huge problem with hostility and belittling people, which is especially toxic to newcomers. Comments like “that should have been the first thing you checked” are not remotely helpful. They don’t do anything but make people feel badly about themselves and their skills. I would never say something like that to a student.

    LW, what helped me was finding an IRC community outside of work full of technical people (in my case, women, so that stereotype threat wasn’t an issue) who were happy to bounce technical questions off each other. We used sites like pastebin to share snippets of code back and fourth and talk through problems. It takes longer than asking the guy who wrote the code and getting a straight answer, but if that’s not an option, then working through the problem with a supportive community who will teach you to debug by debugging with you is a much more positive, affirming way to learn.

    Look for communities on Freenode and Slack that are related to either your particular technical stack, or to a special interest related to tech in general or your stack in particular (like PyLadies or runners who code or whatever). Check for communities that have and enforce a Code of Conduct that encourages being supportive and welcoming of new developers.

    Your code bootcamp may also be able to point you at resources. Do you have a mentor through the bootcamp you can speak to? If there’s a hackerspace in your area that has and enforces a code of conduct and anti-harassment policy, that’s another good way to get tapped into a community of supportive techies who can help you out.

    I wish you the best of luck! And when he makes snide comments about how he saw the problem right away, you have my permission to silently remind yourself just who racked up all the tech debt you’re paying down.

    1. J.B.*

      I like this framing. Also if he wrote the code in the first place of course it’s clear in his head! Documenting for someone else is always the challenge!

      1. Hlyssande*

        I have this trouble so much with a project I’ve been on since the beginning. It’s sometimes really hard not to expect people to just know something.

    2. EmilyG*

      I can’t believe I had to read so far to find a comment like this. My skin crawled reading this letter. Find an error “just skimming over the code,” “read and understand first,” “should have been the first place you looked” all read to me as jerky and belittling. I wonder what proportion of commenters here have experience with how women coders are sometimes treated by male techies. Sure, the OP can increase her skills, learn to ask better questions, and try rubber duck debugging, but I got a really condescending vibe from the description of the boss in this letter and think the OP deserves a little validation. I’d look for a different job, slowly not quickly, and prioritize having a supportive boss in the next position. Annalee’s last sentence is golden.

        1. EmilyG*

          Are you a coder, though? (I don’t want this to come off like “do you even lift?” But I really think it’s a dynamic you have had to experience to get. And sure, there are women who charge right through it and don’t mind, but you shouldn’t be required to be one of them to work in the industry.)

          1. moss*

            I will say that I don’t work for startups anymore for exactly the issues the OP is encountering: sink-or-swim mentality, cults of personality, etc. But handling frustration is a must-have no matter what type of programming you do.

            1. EmilyG*

              I’ll agree with that! (You need to deal with frustration in any job, but programming is a whole different level of frustration, sometimes.) In the end, I think OP should try some of these strategies to see if she can get along with this boss better, but I don’t think she should feel like it’s her fault if she decides a different environment works better for her.

          2. De (Germany)*

            I am a woman coder as well. The dynamic, especially in open source projects, is often toxic. However, I don’t think the boss in this situation is nearly as bad as his statements have been interpreted here. As the OP, I’d start getting help from coworkers instead, though – unless the boss specifically invites it, I’d say he just isn’t the person to ask. Just because he wrote the code does not mean he needs to help her expanding it.

        2. dancer*

          I agree with you. I am a woman coder, and in my experience both male and female students get these comments.

        3. Wanna-Alp*

          I don’t think the boss is being a jerk – he sounds well-intentioned and like he is trying to help, but just doing a bad job of it, and not realising that he is inadvertently sounding like a jerk.

          I agree very vociferously with Annalee and EmilyG.

      1. Vorthys*

        I’m a woman engineer that does both hardware and software programming (hopefully that counts for experience), and both men and women in my experience are prone to this kind of speech with their subordinates of either gender. In fact, I might say those things precisely myself over the course of a day and mean nothing negative by them. I didn’t see any hidden negativity when I saw that. It’s brief, but this is over IM.

      2. sunny-dee*

        Well, “that should be the first thing you look at” could be belittling … or he could be telling her that if she sees that error again, the first thing she should look at is X. Which is why he could identify the error by skimming the code.

        I use Docbook XML for docs (sigh), and for awhile, our build system would spit out this insanely random error, but it happened if the number of columns in a table didn’t match the colnum value in the colspec. So, if a n00b encountered that error, I’d say, check your colspecs — that’s the first place you should look.

      3. ParteeTyme Brand Yohimbine-Rohypnol Injection*

        I’m a guy and a software engineer and I agree with EmilyG about the ‘vibe’ of these comments. It’s not even necessarily a sexist thing (although it might be) – it’s just a common attitude amongst computer people to take a jerky, condescending attitude towards anyone who they perceive as not being as good a programmer as they are.

        A lot of people in the software biz have very interesting “ego issues”.

    3. Annalee*

      Oh, LW, in my original read through, I missed that you explicitly said you were a woman, and structured my response around not wanting to assume, even though I was 90% sure you were, based on your letter.

      Yeah. This is a problem a lot of women in tech face. It’s not you needing to grow a thicker skin.

      You’re probably already tapped into the relevant women in tech group through your bootcamp–ask for the chatroom where you can ask code questions.

      You should also check out Julia Pagano’s excellent talk and resources on impostor syndrome in tech: http://juliepagano.com/blog/2013/11/02/it-s-dangerous-to-go-alone-battling-the-invisible-monsters-in-tech/

    4. The Toxic Avenger*

      This is an excellent comment. Like EmilyG, I am surprised I had to scroll this far down to find something like this. The code the letter writer is working on is undocumented, and written by the guy she’s asking questions of. Of course he saw the problems right away. He “skimmed” his own code!

      I think the boss is trying to teach the letter writer and doesn’t intend to be jerky – and I think the letter writer should keep doing what she’s doing, keep an open mind, and follow Annalee’s advice.

      1. sunny-dee*

        No, it was her code. She made the error, in her work, within his larger code base. But the problem was that she couldn’t debug her own code.

    5. LBK*

      Comments like “that should have been the first thing you checked” are not remotely helpful.

      See, I disagree because I think that’s important knowledge to have to become a better troubleshooter. For example, if there’s a certain syntax error that’s really common with a certain function, it’s helpful to know that should be the first thing you check because 90% of the time it will solve your problem (this happens to me all the time with MATCH in Excel – I always swap the order of the array and criteria).

      Could it be phrased slightly better? Sure. Is it a valid point and something you should take at face value when it comes to troubleshooting? Yes.

      Realistically, it’s also not the manager’s job to teach the OP how to troubleshoot or to do detailed walkthroughs of code with her. Maybe the OP gets a little leeway as an intern, but if I’m hiring someone to code, I expect that this is part of their existing knowledge; knowing how to read code and debug it is not something that changes depending on whose code you’re looking at. Yeah, people have their own styles and there’s 100 ways to do the same thing, but it’s still all the same language and can be debugged the same way. It’s great if there are other communities out there that are willing to take the time to give the OP more detailed help, but I don’t think it’s her manager’s responsibility – this is what he hired her to do, and I already think he’s meeting his expectation as a manager in giving her leading questions and guidance on how to do this on her own.

      I agree with Alison’s experiment – spend a week taking his comments literally, at face value, and see if that changes how frustrated she is. I think the fact that this is all being done via text also makes it a lot harder to gauge the actual emotional dynamics and that if you’re questioning the tone of what someone’s saying via email/IM, it’s always always always better to err on the side of giving the benefit of the doubt.

  45. Bostonian*

    This thread is making me feel much better about all the time I’ve spent wrestling with programming-type issues on my own recently. I’m a grad student, and the research method is kind of “Here’s a bunch of poorly-documented data. Figure out what tools you need to analyze it and teach yourself enough of each tool to do what you need to do. You can ask your peers or the internet for help, but they aren’t necessarily working with the same tools or data so there might not be anyone who can answer some questions. Have fun!”

    I thought this was just an academic research thing, but maybe it will stand me in better stead than I thought.

    1. Vorthys*

      I used to think it was just an academia thing. When I went from academic work to R&D, I had such hopes. These days, I just hope to make my documentation as thorough and complete as possible so there’s not someone ten years down the line looking at my work and cursing my name.

  46. TotesMaGoats*

    I have to agree with everyone that your boss is trying to teach you in the way that techie bosses try to teach. I know this because my husband who does something with coding (I don’t know what, gov related job he can’t tell me about which is awesome) would do this exact thing. I know he would.

    However, I think why it hurts is because you don’t come from that coding/IT world. Industries tend to attract people with personalities that will fit. You came from humanities, so my gut says you value collaboration and support. You probably work best under a different style of teaching. That style is so not the style of IT. I would hate it too. I came from a counseling background and those messages from your boss would hurt and annoy me too.

    I think the advice to view it as a learning opportunity and let go of the annoyance is your best bet. Good luck.

  47. Eliza Jane*

    I’ve been in software engineering for 13 years now, and there is literally never a day when I am not trying to figure out why stuff won’t work. Today, I am enmeshed in an exciting exercise of trying to figure out why maven is trying to pull jars from remote repositories belonging to another project, when I no longer have access rights to that repository. It’s deeply annoying. I’ve been wrestling with it for 5 hours now.

    I’ve moved up to a place in my career where I no longer have someone to whom I can easily bump tricky questions. If after a few days, I still haven’t come up with anything, I can start seeking out maven experts at the company, but they’ll be people I don’t know, and I’ll have to have a compelling complicated problem to make them take time away from their own projects.

    People think that computer programmers spend their days writing code, but in my experience, most good ones actually spend huge amounts of their time figuring out why things aren’t working right, or what the best way to approach a new problem is. I spend more time on my web browser googling things than I do in my IDE writing code. It’s the nature of the job.

    It sounds like your boss is trying to encourage that mindset, trying to help you see the different ways to approach problemsolving (look over your code, find an article, try things to see what happens).

    As another possibility — I have sometimes engaged in this kind of behavior as a deliberate form of gatekeeping — when someone is coming to me a lot for help, I will throw up barriers to accessing that help to encourage them to try other things first. I have told people, “If you are going to ask for help, do it in the form of an email with detail about the problem,” or “Before you ask for help, I am going to want to see the log files associated with this, including complete input and return values, and the unit test you have in place.”

    The reason I do this is that they could often find the answer in 15-20 minutes of looking (and be improving their looking skills), but asking me is faster. So I make asking me slower. That way, I have time to do more of my own work, and I’m not as irritated by constant interruptions.

    1. Kyrielle*

      Oh man yes. I am having an ongoing battle with SWIG. I do have someone I can take questions to, but my SWIG expert finished up helping me on this one as confused as I am. I kind of feel good about that, but it doesn’t absolve me from continuing to try to figure out why it’s not doing what it’s not doing, and how to get it to start.

      Other than the way it’s supposed to work, which, um, isn’t. Even though it did in a nearly-identical use case.

    2. sunny-dee*

      OMG I HATE MAVEN AND WHEN IT TRIES TO PULL STUFF FROM REMOTE REPOS! WHYYYYYYYYYYYYY?

      It makes me think in allcaps.

  48. Taylor*

    I once worked with a girl whom I had to treat this way. She would ask me UNENDING questions about very obvious things–and she wasn’t even MY assistant! These were questions that could be solved by a simple Google search or opening her eyes and trying a little (ex: “Where are the photos from May?” “Try looking in the folder ‘PHOTOS –> MAY'”). I had to tell her, “Spend 5 minutes looking on Google for yourself, and if you really can’t find the answer, then come back to me.”

    Unfortunately, she wasn’t an AAM reader so didn’t last at that job. Not only was she not nearly as skilled as her resume suggested, she had an attitude to boot (she rolled her eyes and sighed at me when she asked me where the post office was, and I told her, “I don’t know the exact address, but Google Maps can show you what you need.”). OP, don’t be this girl.

    1. misspiggy*

      Girl? If you’re saying she was actually a child, your explanation is right there. I’m sure the OP would rather not be thought of as any girl.

      1. Ask a Manager* Post author

        I agree that we shouldn’t be calling adult women girls, but I’d also appreciate it if we didn’t nitpick people’s language here. Thank you.

  49. J-nonymous*

    Not to pile on, but as a long term developer, the questions that you reference in your letter would be red flags to me. Your boss isn’t your debugger, and there is a difference between getting clarity on approach and wanting explicit instructions on replacing A with B.

    Are there any other developers you could pair off with to get guidance and advice? Trust everyone (including me) who says learning to apply a very discerning eye to your own code and troubleshoot its problems is going to be a tremendous skill. That said, none of us does it alone either. I relied heavily on forums and a couple trusted developers. I saved the boss for bigger approach questions.

    1. De (Germany)*

      Yeah, I think I am very confused by the OP asking the boss about those things? Did he invite that?

      Sure, he wrote that code, but especially when it comes to how to implement features, asking coworkers might be a better option.

    2. J.B.*

      There’s a huge difference (and a better match for most people’s learning styles) to say “lots of people struggle with X, search on that” and “it should be obvious”. Plenty of people post questions to stack overflow, some are really nice about answering them and some are total jerks. The question can have some relevance to a related problem, but saying “why don’t you see this” belittles and helps no one.

      1. J-nonymous*

        The most vitriol on those kinds of communities (in my experience) is reserved for people who post their questions/problems without searching to see if the question was answered in previous posts. And that’s a behavior that’s related to what I see in the OP’s letter–expecting to be led to/given immediate answers rather than do research.

        The biggest thing that stands out to me is that the OP seems to expect instant answers without doing all the due diligence first. That’s why the letter set off red flags for me. The OP can do a lot to correct that thinking (and prevent some really bad habits in the process) by searching for solutions / bouncing issues off a trusted colleague first.

  50. SirTechSpec*

    I’m going to throw the OP a bone here and say that while it’s likely Alison and others are correct about what the boss is *attempting* to do, it’s still entirely possible that he’s not very good at it and/or a jerk. If you want to improve in a human language, you read something you can mostly understand, but not quite – that way you have a context to put new words and structures in. If you read something where you can only understand 10% of the words, it’ll be very slow going and you won’t get as much out of it. Same with anything else, really.

    So in this situation I’m thinking that the boss’s teaching style is “calibrated” to someone who has more experience than OP, like at least a four-year CS degree and maybe an unpaid internship or co-op. That experience includes both familiarity with the languages and technical concepts involved, and adjusting to the style, culture, and expectations involved in most programming work in practice.

    Story time: I once recommended 2 friends, both CS students at the time, for a short coding internship that I’d gotten a lot out of a few years earlier. Both were surprised on the first day by the lack of direction and hands-on instruction (it was a remote situation, IM/email only). One asked me for guidance and I was able to bridge the gap and suggest strategies for where to start until she was comfortable working with her supervisor and on her own, and eventually did pretty well. The other concluded pretty quickly that they weren’t comfortable with that environment and dropped out of the internship, and ended up deciding not to go into the field.

    So there are 2 morals to this story. One, that others have alluded to, is that programming is kind of a weird activity that, at least with current cultural expectations, requires a lot of digging in on your own before asking anyone for help, way more than what you’d expect in other fields. But the more important one is that the supervisor admitted at the end of the internship that he’d had unrealistic expectations, and I really think things would have gone more smoothly if he’d taken time to structure things more and spell out steps at the beginning.

    OP, I think it’s worth having a general conversation about this issue. You can explain your position and ask for some resources and processes that your boss uses when debugging. But also, getting aligned with expectations about how much time you should spend working on something on your own before coming to him, so you can strike an appropriate balance between learning and getting things done and retaining your sanity, might really help here – and if your boss is totally unwilling to shift on this, that’s on him. An internship is indeed about helping you learn, but that should include listening to you about how YOU learn best.

  51. RG*

    Oh man OP. Your letter sounds pretty familiar to my time in programming classes in undergrad. It does sound like your boss is trying to teach you common debugging techniques, which is good. If I were you, whenever I reached out to him for help, I would include a brief summary of all of the things you have tried, to show that you are truly stuck.

    Also, if there’s one thing you should take away from this experience, it’s that you should comment your code and include basic documentation. A lot of developers would have balked at that – it is pretty much unacceptable anywhere else. So, as you go along, add comments. If you find that the majority of your questions are from trying to figure out undocumented code, then I suggest bringing that up with your boss.

  52. 2 Cents*

    I’m not a programmer, but I sit by three. When one encounters a problem, he (they’re all guys) researches it first by himself. Then, if he doesn’t have any luck, he will ask the other guy for advice, since Guy #1 has been researching for several hours (sometimes). If both of them are stumped, they’ll loop their boss in, who will either have a solution, know where help could be on the internet, or join the search for an answer.

    In short, I hear very few conversations where either one is constantly asking the other questions (and we used to have a very junior person here. She was always encourages to search/research before she asked). It’s usually sifting through their own code first, then research, then asking one another. And it seems to work for them.

    Plus, he seems to be pointing you to resources, which is nice. And I’m a proofreader; it’s hard to proofread your own writing, but not impossible. Sometimes, you need to change tasks, get a glass of water, or focus on something else before you can see it.

  53. Walnut*

    The comments are fascinating to me, because this is so far removed from my field and also every “teaching” experience a boss has given me. I get that OP’s boss is trying to teach her how to address these issues herself, but honestly he doesn’t sound very adept at realizing that his teaching style doesn’t work (and won’t work, frankly) in every case. What he should really be doing, after OP asks him how to fix something/where the bug is, is to ask what she’s done to address this problem, and after getting that information, modulate accordingly. So if she’s done nothing, say “Come back and see me after you’ve looked into this more”, or if she’s done a lot, maybe give her a nudge in one direction or another.

    Otoh, if programming is so solitary, maybe the boss isn’t used to trying to teach anyone at all? In any case, I think the only solution is to let your boss know upfront what you’re having issues with, listing out what you’ve already done, because that will kick off the conversation at a point where it can be productive. And judging from what the comments are saying, I would see if there’s another place you can get this kind of information, since it might not be the norm for this industry.

    I guess I also sympathize with the OP because I think we’re coming from similar backgrounds. There’s lots of solitary work in college-level humanities work, but when you come across problems and puzzles, it’s expected that you’ll actively talk through the issue with another person, because you tend to eliminate preconceived notions in conversation, and plus the diversity of opinion is always good. And in a lot of fields that humanities majors enter, I think, problem-solving is very team-based, so it might just be a culture clash at work, here.

  54. OP*

    Thanks Alison for your answer. Thanks for the feedback everyone.

    I’m seeing the two thoughts I had about this echoed pretty well in the comments: 1) “he’s just trying to help you learn” 2) “yeah but he could be nicer/more clear about it.” I do think there are instances where it would be nice if he was a bit more specific, like instead of being “can you find the error in the 200+ lines of code you’ve sent me?” maybe pointing me towards a specific part to check more carefully.

    I actually sent my boss an email about this and he said basically what’s being said here–that he’s trying to help me build good habits. We are going to meet on Friday to go over some things, and he wants to set up a weekly meeting to check in, which I think will be good. I’m going to try to avoid IM as a form of communication from now on since I think it’s hard to gauge tone.

    For context, when I wrote this email I was having a terrible day and my boss’ message was kind of the straw that broke the camel’s back. I’m dealing with a lot of personal stuff right now–health problems, a housing situation that’s up in the air–and in the mood I was in I was prone to interpreting people’s comments in the worst possible light. It also doesn’t help that I have been getting a lot of genuinely condescending advice lately–most recently, my aunt telling me that the solution to my work problems was to “work harder” (when I wasn’t sure what I should be working on) and to sometimes work for free to show how dedicated I am (what is it with older relatives telling you to work for free? My dad has also done this, grr).

    One thing I’m seeing a lot is “try not to take it personally/assume good intentions” and I agree that this would be good, but does anyone have any practical advice on how to do this? This is a very new work environment to me and I’m not sure how to handle a lot of things.

    Thanks again!

    1. Eliza Jane*

      What’s worked for me, with assuming good intentions, is a series of steps:

      1. Before asking a question, tell myself, “This person wants to see me succeed.”

      2. If you know your boss is going to give you advice to help you find an answer rather than the answer itself, ask for the advice, rather than the answer. That way, you’ll be getting what you ask for.

      3. If you start to feel frustrated, stop and count to 30 before responding. (In person, I do counting to 10, but you have a bigger gap available). This actually has a real physiological effect, disengaging the emotional part of your brain and swapping in the logical side.

      4. Try to take a quick walk or coffee break before asking for help. It sounds like usually, when you go to ask for help, you’re already frustrated, which means you’re pre-wiring the situation for a bad emotional response. A break from the problem before asking for help may let you approach the conversation in a less charged way.

      Good luck! The tech industry can occasionally be very frustrating, but it can also be rewarding.

      1. TootsNYC*

        1. Before asking a question, tell myself, “This person wants to see me succeed.”

        I agree. But also say this before you open any communication FROM him.

        Also imagine him smiling. Because if you’d imagined an actual smile on his face, and then read: “Read and understand first, then ask questions,” might you have said to yourself, “Oh, right–the answer must be in there after all, I’ll spend more time on it,” instead of feeling pushed away?

    2. moss*

      So for the not taking it personally part. I get the sense that you want to have the answer, already! And your boss’s actions are not facilitating that, which leads to frustration. I would suggest that you let the negative feelings come and then pass on. Like for me, I get an assignment with a due date. So the first thing I do (in my head) is freak out a little bit, like, OMG THERE IS NO WAY I CAN DO THIS AHHH. I know that’s part of my process now so I just let that happen. OK it’s the freakout time. Let that pass. Now I can move on to the writing of the code. So when you’re evaluating whether you’re good at coding or not, take into account and allow yourself to feel freaked out, unworthy, unable, stupid, slow, a basket case, or whatever. Let that happen a little bit, get it out of your system (for me it’s like, ok I can keep freaking out or I can actually do the job that brings the paycheck that houses my children) and then buckle down to work. Do the same thing you would do with any hard task: Break it into chunks, do the easy parts first (if that works for you. I do the easy things first so I can get a feeling of accomplishment.), go back to basics & do something really simple like a code walkthrough first. Look at and understand the code, don’t alter it or try to do any programming, just feel the code first, for example.

      OP I want you to succeed. I want you to be a kickass programmer. Part of being that is accepting that it’s frustrating and lonely sometimes. We all feel that sometimes. If I could give you one takeaway, it’s that you shouldn’t try to ELIMINATE frustration, just be able to work in spite of it, in spite of whatever personal things you have going on, in spite of what anyone else is telling you.

    3. Kyrielle*

      Honestly, I’ve found it helpful for the “try not to take it personally” to take a deep breath and tell myself stories. Maybe it’s condescending, but maybe…maybe he was dashing it off quickly before he had to go to a meeting he’s late to. Maybe someone almost rear-ended him on the way in. Maybe….

      But “try not to take it personally” doesn’t mean never feeling hurt or annoyed, either. Feelings are feelings. It means not letting yourself tell yourself a story where the person either wanted you to be hurt/annoyed, or didn’t care in the least if you were – it means not reinforcing the feelings. Spending time trying to smash them is rarely productive.

      As an aside, if it would be helpful, I can try to codify some things I do to help myself break through the stuck spots (especially “obvious” errors which, of course, are only obvious *after* you find them in my experience). I don’t want to go too far down that rabbit-hole if it’s not helpful, though, since the initial request was about interacting with your boss. :)

      (And if you’d rather reach out via email rather than in the comments – since it’s a bit of a topic shift – my email is the name I use here, at gmail.)

      1. Brightwanderer*

        Telling myself stories is how I function in society! I remember reading about “special pleading” a while ago – which is when we make (often completely legitimate!) excuses to ourselves about actions we take that we would condemn in someone else – and somehow since then I find myself trying to do the same for other people. That guy cut in line, he’s a jerk! Or, he’d never normally do this, seriously he feels like crap for it, but he’s running late and if he doesn’t eat now he won’t be able to the rest of the day…

        It actually makes a big difference to my mood and how I interact with other people. I’m by no means capable of aways thinking the best of people, but the slight thought shift to “maybe, for that person, it’s ‘just this once’, not ‘I do this all the time because I am a jerk'” really helps.

        1. Kyrielle*

          Yes! It is so hard for me to do sometimes, to cut off my first response and re-cast it. But it makes _my_ day so much better, and makes me so much nicer to the people around me. I keep working on it.

          Because, honestly, if the dude who cut in line is just a complete entitled jerk, being angry at him isn’t going to make my day any better either…it just keeps me thinking grouchily about it for a lot longer.

          Mind you, the more everyday contact and exposure to a pattern you have, the more you might need to address it, but if I can frame it as _anything_ other than complete self-centeredness or intent to be rude/mean, I’m pretty much always better for it.

    4. Sam*

      I’m glad you called out avoiding IM / email. Face to face communication brings the human connection and connotation that you wouldn’t get out of a smilie face!

      Try doing the experiment provided by Alison. And as a part of that, communicate in person — avoid email & IM if possible. It may be annoying at first, but it will do two things. 1) Because it feels a little annoying, you’ll self-police when you really need help. That way, you’re spending a little more time problem solving and clarifying what is giving you challenges. 2) Unless your manager is a literal robot, you’ll get the context behind what they’re saying. If it’s something you’re truly struggling with, your manager should recognize that you may need more guidance. Because you’re speaking in person, it will also help change your mind set that it’s not personal, it’s potentially just the communication medium.

    5. Hana*

      Some thoughts on practical advice. I often remind myself that:
      1) not having a handle on things is normal
      2) if I could really do everything perfectly, their job would be redundant
      3) time goes on and so shall I

      for good intentions, it may help to remind yourself of times that boss has been encouraging or be on the lookout for those times so it doesn’t feel like he’s criticizing you endlessly

    6. Vorthys*

      What always gives me comfort is having a list of strategies tried and results easy at hand when asking for assistance. When you’re told x is the first place to look, preferably x and x-like locations are early on the list of places worked on. With that, you’re well equipped for a productive conversation, and you can look at it as a way to add new tools to your toolbox rather than being told you’re inadequate. It’s not you, it’s the toolbox.

      If I don’t have it sorted out in advance and am not able to easily communicate my challenge, I have a really hard time not feeling frustrated in an unproductive way. A disciplined approach helps take the worst of the emotion out of it and can help reframe it so it isn’t as personal. Also, there’s a bonus: it’ll be a great resource when doing documentation and when tackling other challenges down the line.

    7. Mel in HR*

      Glad to hear things are looking up! His approach may not be ideal for your learning style, but I think he has good intentions. By meeting, hopefully you can learn better and the two of you will learn a better approach to finding solutions when you run into errors. Stay positive! :-)

    8. éscargot agile*

      Your 200-lines-of-code example sounds a bit out of touch to me. A good boss or colleague shouldn’t have reacted any differently. I’m a developer, and in most cases if a junior colleague came to me asking to find an error in more than 20 lines of code, I wouldn’t spend a minute trying to find it, because it’s clear they didn’t try to debug it themselves. I sometimes see 100-line code snippets embedded inside StackOverflow questions, and I’m really not sure why members even try to help these people and do their work for them, when it’s clear no real debugging effort had been made on the OP’s part.

    9. J-nonymous*

      Hi OP – I think your attitude toward this is pretty great, even when you did have the straw-that-broke-the-camel’s-back kind of experience, you wrote into AAM. That’s awesome – and wouldn’t it be great if more people did that.

      Don’t listen to your relatives–at least not on this topic.

      I’m not sure what type of programming you do, but I highly recommend finding a good forum/site to find information on if you haven’t already.

      In my earlier days of development–and when I switched platforms entirely–I struggled with using the right search terms to find what I was looking for. That’s a tough hurdle, and if you find yourself in it, I think it’s fine to reach out to your boss and ask “I’m having this problem and I searched for X, Y and Z but didn’t get any helpful hits. Do you have any ideas of what to search for to find this answer?”

      I have a couple follow-up questions:
      1. Do you report directly to your boss?
      2. Are there any other developers working on updating / maintaining this codebase (and if so, are they more senior)?
      3. How do you go about determining what code / enhancements / etc you will work on? Do you have a backlog of requirements to implement?

      Something that worked really well for my team (when we had junior–and offshore–developers) was to go through a small planning session with them and have them tell me what their approach was going to be for requirements they would be working on. That helped both sides iron out what was going to be done and provided a proactive means of identifying issues (before the developer jumped in to coding).

      1. Chinook*

        “Don’t listen to your relatives–at least not on this topic.”

        If it helps, you can smile at them and say something like “I will take it into consideration” and then silently consider it a horrible idea and discard the idea. Good for you for realizing that your time is valuable and that working for free is not a good return on investment 99% of the time.

    10. Marcela*

      Oh, OP. You chose programming as a life, which is something I love to do, but I can’t tell you it’s not frustrating as hell most of the time. Perhaps the best to explain why is to remind you that the computer will always do what you TOLD it to, not what you WANT it to. Therefore, while I do write code, new code, I mean, most of the time I am actually trying to make older code to do exactly what I need in relation to the full code of the project.

      Debugging and learning to do it properly is going to be a great part of your work. I hope you have proper tools to do it, including a good editor that can help you (for example, to check errors in the syntaxis or to run the code line by line), and completely isolated versions of the code in every programmer’s computers, so you can do whatever you want and need in your own computer and nothing will happen to the real code. Learn how to write tests: they can be very helpful not only when trying to find typos, but when the logic is the problem, not the code.

      You should not be afraid of touching every single line of the code you are working with. Comment every line, run the code, until you can get a sense of what it does. Learn how to print every variable, so you can check at every line that what the information moving through the code is what you expect it to be. And make sure StackOverflow is the first site you check (although, if you create an account, sadly I would recommend you to create an account with a gender neutral username: when I don’t seem to be a woman, I get better and less condescending answers). Most of the answers are always there.

      And just for the record, since I don’t think you just tried to debug for just 15 minutes, once I had a very obscure problem and I spent one month just reading and testing the same file, about 150 lines of code. It was very boring, but also intellectually rewarding when I found the bug: I felt the most intelligent person in the world :D Sometimes I think I love software development just because of those “I love my brain” moments.

    11. Tau*

      Hi OP! And kudos to you for taking all this so well – as I read further down comments I worried that this must seem like quite a pile-on.

      On the “don’t take it personally” front, I +1 Kyrielle’s suggestion of telling yourself stories. This is something I do generally in an attempt to be kinder – if I notice I’m being pettily annoyed or judgemental about someone’s behaviour, I try to come up with an explanation that paints them in a sympathetic light. It really helps.

      Another thing – I’ve also had times I asked my mentor a question and came away feeling terrible about myself and a little angry at him after a Socrates-like answer. I think for me, part of it was/is that getting a roundabout “figure it out for yourself” instead of a straight answer made me feel like I’d misjudged what was an appropriate question to ask, which made me feel incapable, which made me feel condescended to…

      So. First off, general rule: Be kind to yourself. You’re a beginner. You’re an intern! You haven’t done this programming thing for very long! Asking questions is a normal part of the process, and asking a question a little too early sometimes – or asking it too late – is also normal. Anyone who looks down on you for this is an asshole and not worth your time.

      (Sometimes, you have to figure out how to be kind to yourself before you can be kind to others.)

      And a more practical suggestion: I’d ask your boss specific things like: how long does he think you should spend figuring out a question for yourself before going to him? What kind of questions should you be asking? What kind of answers is he happy/not happy to give you? Does he have any tips for how to go about debugging in particular? Resources to use if you’re stuck?

      I think one of the most frustrating things can be the feeling that you don’t know when it’s okay to ask questions or what kind of questions you can ask. If you get clear guidance on that front, you might find your boss easier to deal with.

      Good luck and all the best with your debugging, from one pretty-much-newbie programmer to another! :)

      1. Chinook*

        “I’d ask your boss specific things like: how long does he think you should spend figuring out a question for yourself before going to him? ”

        This is a good one as most people who are new at doing something don’t have a good grasp at how long it should take. And since you are coming from another type of work environment, you may be underestimating the value of “wasting time looking for bugs.”

        1. OP*

          This is a really good point, thank you. I will try asking him about that and about what resources he suggests.

    12. De (Germany)*

      I think one of the big problems in new software developers is that before they have a job, they usually learn by programming something new, and for at least the first part of their jobs, they have to work with legacy code. And those two things are vastly different. So working with legacy code, sometimes you go home after 8 hours and have written five lines of code, while with new code written solely by you, you can wrote hundreds of lines because you know exactly what happens and what you need to do. But those five lines, those are normal. And they don’t mean you are stupid or incapable and that’s what more senior people do as well! It really is okay.

      I wish you all the best, OP. Programming can also be extremely rewarding :-)

    13. Quirk*

      One piece of advice that I think will help you a lot:
      When you contact your boss, show your working so far. Your boss, seeing something as “obvious”, may not appreciate what you’ve tried already – possible causes for bugs you’ve dismissed, implementation approaches you’ve investigated and discarded. When you show that it’s maybe not quite as “obvious” as your boss thought, your boss may gain an insight into some piece of information or some habit of working that makes the “obvious” obvious, and then be able to share it with you.

      Your boss doesn’t care very hard about your production of a solution. If the work were important work, it wouldn’t be given to an intern. Your boss cares about the way you solve problems. If you make it easier for him to give you feedback that improves your ability to solve the problems you’re encountering, it will be more apparent that he’s on your side.

      Also, I think avoiding IM for now is probably wise.

      1. Quirk*

        Also, your boss sounds like he might be rather busy. Perhaps you could get him to agree to set aside a regular ten-minute slot each day for the next month or so where you can ask him for a deeper explanation of things that have come up that you’re unclear on.

  55. Dasha*

    Hmm… I don’t know if I 100% agree with Alison this time, I’m on the fence. OP, your boss could be just trying to teach you but for instance when you say:

    I emailed him some code that wasn’t working as expected. Instead of saying “you need to fix X,” he said, “I saw the error just skimming over the code. Can you find it?” and let me flail about trying to figure it out for 15 minutes instead of telling me where to look. When he did point out what I’d done wrong, he added “that should have been the first place you looked.”

    To me, that’s not really helpful. I’m taking this as you’ve already tried to fix it on your own, you’ve come up with nothing so you’ve got to ask him. If he’s trying to teach you he’s not going to say, skim the code again he’d say, hmm… have you tried looking between x code and y code for the error? Or give you some sort of hint or tip. Asking you to look at it again doesn’t really come across as helpful or trying to teach someone to me sounds really unhelpful to me when you’re already frustrated. You are an intern, you’re supposed to be learning, you need guidance.

    But all in all, the way I read this either you boss wants to help you learn but sucks at teaching or either he’s a jerk.

    1. éscargot agile*

      Well, right, skimming the code again won’t usually work. The OP should learn to look for errors more methodically, for example divide the code into several segments and test each one, or delete line after line and see if the error still persists. Sending a long snippet of code to the boss and asking for help seems to show that not enough effort has been made.

      1. Dasha*

        I don’t really know anything about coding but what you’re saying about dividing the code (seems like an excellent suggestion) would be something her boss should tell her instead of skim it again. I feel like since she’s an intern he should be giving her more guidance on what to do/look for. To me, it sounds like she’s been trying and just couldn’t get it. Just what it sounds like to me from reading it, it’s really hard to know without knowing more or being there.

  56. Student*

    If you found the answer to your own question after 15 minutes of additional time, that is a Huge Red Flag that you aren’t spending enough time trying to find your own solutions before asking him.

    The amount of time you should spend before you ask for help varies by job. It’s probably worthwhile to ask your boss how long you should bang your head against a problem before seeking help. In my job (not a programmer), it’s usually a couple days or even a week. Programming moves faster than my work, but I’d guess you should try to figure it out on your own for at least an hour. Maybe 2-4 hours, if you’re junior programming staff.

    It’ll help you build up techniques to figure out how to debug code to bang your head on it for a while. Sometimes, changing gears by putting the problem to the side and working on something else for a few hours and then returning to the original problem can help get you out of the “tunnel vision” issue, where you’ve been staring at the same lines for too long and can no longer find the issue.

  57. Allison*

    I will say I understand your frustration, I’ve had people do this to me too, asking things like “what do *you* think you should do?” trying to lead me to figure things out for myself, but it felt like a test; like, if I got it wrong, I’d be in trouble. Sometimes I really just needed some guidance from my manager, why was he playing these mind games??

    But more recently, my manager said she liked a workflow I made but there were some typos that needed to be fixed. When I asked her what they were, she said “I don’t remember what they were exactly, but take a look, you’ll see them.” Part of me wanted to push her to tell me what needed to be fixed, but then I thought “she wants me to proofread this myself, so I’ll do that.” Only after I gave it a good, hard look and fixed the errors I found did I ask her to give it one more once-over to make sure I fixed what needed to be fixed.

    It does make sense that your manager is trying to get you to figure things out for yourself before having someone spoonfeed you the answer. You don’t want to start your first full-time job with a sense of learned helplessness, you want to be fairly self-sufficient in your work.

    1. Anon from work*

      I think the difference here is that there is that something like “what do you think you should do?” or “can you find the error” is a leading question with the implication that the person knows what you should do and is watching you try to find the answer (even though you have already said you don’t know it). Saying “I don’t remember what the errors were, just look for them” or even “have another look at this” feels more productive and not like a pressure-filled situation where you are scrambling to find the errors and they are thinking that they are so obvious.

      I also think that there are a few different types of questions here. Asking to check over work for typos or mistakes that you already understand but may have missed (a misspelling or grammatical error or something) is different than specifically asking for help in a situation because you don’t understand something. In the case of a typo it is much easier for someone to just point it out (I promise I know when to use their instead of there, but if it slipped my mind for some reason saying “there is a grammatical error somewhere in this document – search for it” is not going to teach me anything new) . Trying to understand a concept or learn a skill could lead to a moment where trying to figure it out for yourself would be useful, but it shouldn’t ever feel like mind games or condescension.

  58. Aardvark*

    I’m siding with Alison here–this really does sound like your boss is trying to teach you to become a problem-solver. One thing you might try is being a more proactive learner. It sounds like you might be feeling frustrated because you struggle and get told to try again, and you don’t know what to do with the somewhat generic information you get back.

    Have you tried sending him a few notes on what you’ve tried when you ask for questions, something like, “I reviewed X, Y, and Z looking for A. Then I tried running C to find A, and used tool D to analyze the whole thing, etc.. What might I try next?” Then he can give you more specific feedback, which might help you feel like you have a better direction. (And going through this process sometimes helps you find your own errors before you ask your boss for help.)

  59. JAM*

    I wanted to address that this is a startup. I work peripherally to the startup community so I’ve observed some trends. A lot of management in startups are people who thought they had to know and do it all. They take pride in their work and are very hesitant to bring in other people who they perceive as not having the same intelligence level as them. They like working with people who think like them and act like them, and as a result so many of them seem irritated if you can’t read their mind (not literally but they do want people to be on the same wavelength). For many of them, this is their first time being a boss and that is a learning experience too.

    Communication seems to be a problem so I agree with the others that you should share what you’ve tried already or the mindset you’ve used to debug. I’d also say you should work to improve the actual code with any comments you can. The boss might feel some pride issues about that but it is so important that code be documented and he may have passed in the past due to time constraints or that psychic mindset I described earlier. Is there anyone else you can reach out to? I know startups are often small but if there’s someone else who doesn’t have all the responsibilities your boss does they might be able to have more time to help.

    I know depending on your own training that it’s hard to accept new style of feedback. Sending you articles, telling you to review a concept, expecting you to google, spending more than 15 minutes, asking you to do more of x, those are all typical. The “I saw the error just skimming over the code. Can you find it?” commentary is not helpful. You can do some communication on your end to minimize those responses but honestly I’d consider saying something back like “I took quite a bit of time to review and couldn’t find what was causing the looping issues, even checking xx. I’m still learning so if you have guidance on how to improve my code review I’m open to feedback but otherwise I was hoping you might point my in the right direction on where to review.” On your end, try to keep a log of the problems you find, how you identified them, and how you fixed them. Even if you don’t need someone’s help, doing it is a great way to track your own growth and build confidence in yourself and in your career choice.

  60. Hana*

    I feel you, OP. I am experiencing the exact same thing at my job right now. Except in my case, I am reasonably sure that my coworkers are coming from a good place, so their comments of disbelief when I don’t know things don’t rankle me much. I also crossed fields entering this job, so I’m clueless about almost everything. It can be so frustrating being told to find the solution when you don’t even know where to start looking and are missing a lot of the base knowledge to figure it out.

    I also empathize with your feelings of reaching a point where you’re just not able to process things anymore. My office can be fast-paced like yours, so I often feel like for efficiency’s sake, getting the work done should take priority over me building foundational knowledge. But then I remind myself that that’s kind of short-term thinking; if I’m going to be helping with similar things in the future, that foundational knowledge has to be built some time. If your office is anything like mine, there is no end to the work. Time for learning must be carved out. It looks like your boss sees value in you learning even while things need to get done.

    In your case, I think it should be reassuring that your boss is providing you with directions to start off in. It can be tough to go in those directions when you’re unfamiliar with the territory, but at least he’s providing you with some sense of where to go. And based on what you’ve written, it doesn’t seem like he’s doubting your capabilities or questioning why you were hired.

    If it helps: you’re new. It’s your first time doing this. You not knowing things is completely normal. If there’s a time for you to make mistakes in your career in this field, it is now. And I think your boss knows that, so I don’t think you should feel bad about having lots of questions, and I also don’t think you should feel bad when your boss acts in the way he does. If he really thought you were wasting his time, I think he wouldn’t bother finding resources for you to use to learn. Try assuming for a while, as Alison says, based on what you’ve written, that he is acting with the intent of building you up and not being ‘mean.’

    (also, is it possible in your office to take small breaks from code-checking to give your brain a rest? I sometimes take five to ten minutes to write out my errands and shopping list, or to read company materials. It could help).

    Good luck!

  61. TheExchequer*

    Are you secretly me writing this question? ;)

    This pretty much describes my relationship with my supervisor training me. Sometimes it feels unfair when there are still procedures I’m not familiar with and she thinks I should already have that knowledge somehow, but I know it’s in everyone’s best interest that I learn to be as independent as possible as soon as possible.

    Learning a new job is hard and sometimes scary, but most bosses want you to succeed. And having the attitude of “I will do my best to learn everything I can” helps a LOT.

  62. Argh!*

    This is the kind of thing that baby boomers complain about: they (we) think that millenials want too much hand-holding. Managers rise in organizations if they show initiative, and we want to see initiative in others. Some people aren’t really capable of it, but it’s a compliment if your boss expects it of you.

    1. Biff*

      Too bad the boss didn’t have the initiative to create documentation. Not including it would have been unthinkable back when. Frankly, my Baby Boomer bosses have been the ones that encourage the least initiative.

    2. Marcela*

      Funny thing is who is responsible for how the millenials are? It’s not like they just magically learned to do things that way.

    3. _ism_*

      I’m a GenX/Millenial borderline case with Boomer management.

      What I see as taking initiative, they see as hand-holding requests.

      I ask for documentation on a procedure. They say, consult the documentation we gave you. I say, I wasn’t given any documentation. They say, we don’t do documentation, you should be creating your own. I say, well I have been creating my own documention so far because I did notice a lack of it when I started. They say, what a waste of time all this documentation, you need to just ask us specific questions. I say, OK I have a specific question, and by now I know better than to tell them I’m going to go ahead and add the new information to the documentation I’ve been creating. They say, stop having so many questions and refer to your documentation. I say, my documentation doesn’t cover this, which is why I’m doing the documentation myself for future hires. They say stop worrying about the future and do what we say now. I say but I’ve seen the results of not worrying about the future and not preserving records and documentation, and it’s causing all this chaos. I want to help this company avoid that. Which is why I am collecting and preparing information now. They say, how silly, you millennials wanting everything all spelled out.

    4. Steve G*

      I said argh reading your comment!!!! I can’t take any “millennial” discussion seriously this last year, as they keep expanding the year ranges of the “generation” for marketing or other purposes. There are so many different groups of people lumped into it that is it losing a lot of its usefulness as a label.

      But seriously….if someone has punctuation or spacing or order-of-operations errors in a code, or forgets something weird/custom about a type of code (like how to have to make a “pivot cache” to vba a pivot tables)…..I’m not sure how it is not showing initiative to ask for help. Sure, it would be great if the person did it perfectly from the get-go, but….it really isn’t hand-holding to help them.

      And there is also don’t know what you don’t know thing. If someone never is told that there is a function that does (insert crazy thing here, but I keep surprising people with countifs’s and sumproducts and offset/matches in Excel)…..they probably aren’t going to find them in a Google search. What would they type in “find me a function that….if you have a date range and then some other criteria and you want to see how many times we’ve made a sale on X date when the rep was Y and the product was B…how would I make that happen?” some stuff is hard to google unless you know what you’re looking for.

  63. Ultraviolet*

    I think it would help if you asked your boss explicitly about his expectations for

    a) how much time you should spend working on a task on average before consulting him for help;
    b) how many times you should contact him during the day/week.

    For (a), I have the impression you are thinking that your work needs to be completed more quickly than your boss has in mind. Otherwise he’d probably be giving you more help faster. If this is true, it’ll probably take some pressure off you.

    And (b) is an issue where supervisors’ preferences can vary greatly. Actually, both (a) and (b) are really sensible questions for any intern or new worker to ask.

    With respect to his condescending tone….given that this guy didn’t document code that’s playing a big role in his startup, I’d say he’s really overestimating how obvious his style is. I think he’s trying to teach you, but that doesn’t mean he’s doing a great job of it in every way.

  64. TootsNYC*

    it also sounds like she is prioritising speed over results.

    DVZ made this point earlier, and I want to point out something else about speed.

    And effort and focus.

    Your boss doesn’t have time to keep answering questions–and so he is pushing you to spend more time on self-training now. Because he wants you to become more powerful, so you won’t even has to ask these questions later.

    He has bigger things to do. If he answers these questions for you, he’s pulled away. It’s true it may take a LOT more of your time for you to figure it out. but it didn’t take any of his time. His time is worth a LOT more money than yours is.

    So spend your time, and not his. Slow down, get in the zone, be methodical, explain your problem to the duck.

    That’s a good use of your time, and of the money they’re paying you.
    Rest assured that probably -anybody- would have to spend that time.
    Rest assured that this boss expects you to spend his money/your time on what seems like a fruitless search–because he believe that if you DO search, you will eventually find it.
    Rest assured that if you go through that search, you will get better, searches will get shorter and more effective.

  65. Biff*

    I’m in tech and I’m also a teacher and while I agree with Alison that the boss is trying to help the direct report ‘learn to learn’ I think his methods are the biggest load of the stinkiest crap. It might work for some students, and it may be the most common way this is taught, but there really is a better method. It looks like this:

    1. Read your student’s code/project.
    2. Figure out where they applied the wrong idea
    3. .Really important step here: figure out WHY they might have applied that wrong concept. Did they accidentally kludge two concepts together? (Look for concepts that either sound like they do similar things, or have similar names.) The reason you need to do this BEFORE talking to the student is walking their boss through the project is extremely stressful and likely to trigger them to clam up and not allow you to figure out the root cause of the mistake.
    4. Go back to student and say “I think I understand what you did here, let me walk you through what I think happened. You did A, B and C, right?” The student will confirm your understanding usually. This is also non-threatening compared to “what did you do here?!” If they don’t confirm your understanding, you probably have some alternative explanations, one will usually be right.*
    5. This is when you can say “okay, so when you did B, you really should have done G, because while B and G have similar names and they look like they should do similar things, this key difference between them means that they work very differently. I understand you did B because you probably thought it did X. For our application, G makes sense because blah blah blah. If were doing different protocol, however, B would be ideal.
    6. If they did a really nice job at something, even if it is the wrong something, it should be praised because then they will know that when they SHOULD do something, they know how to do it right. (Too often I see a correct method in the wrong application disparaged, and then someone thinks that METHOD is wrong.)

    What happens here is you can figure out where the student gets lost, you can start figuring out if they have a consistent ‘get lost’ point, and you can also correct their understanding as opposed to teaching them rote memorization. When the underlying understanding is correct, rote memorization isn’t needed. Now, some things should be learned by rote , but this isn’t one of them.

    *Students that just plain have bizarre reasoning don’t learn from this method. Or frankly, any other that I’ve tried.

    1. schnapps*

      THIS.

      I don’t code, but I do some mentoring and teaching on the side for some pretty important stuff. I get it’s important to figure out your own mistakes for knowledge’s sake and I emphasize that to my mentees. I let them know in advance that I’ll often answer their question with a question that points them in the right direction. And I let them know that if if I”m doing that and it’s not working for them, to tell me so I can switch my teaching style.

      And this is the issue. The manager is going about mentoring her in his way, and it’s not working for her. She needs to tell him that “I appreciate you’re trying to mentor me through this; by the time I come to you, I’ve mostly exhausted what I know and need some direction. And I look to you to point me in the right direction. I get really frustrated when you say things like ‘I can see the errors; can you?’ because I’m at a point where I need help.”

    2. dancer*

      I think that’s true in a class. I don’t think it’s going to work on the job. My boss does not have the time to figure out my mistakes and then find out why I’m making them. Even for an itern, that’s a lot to ask from someone who has another primary job.

      1. Biff*

        If you don’t have time to train someone right, you aren’t thinking very far into the future success of the company, and you aren’t maximizing your resources. E.g. You aren’t acting like a good manager.

          1. dancer*

            Sure, but there’s a baseline of knowledge that I think is expected of the job. If you explain how to do things at that level, I think it’s an argument that you made a bad hire. (And I’m not talking about the OP now, I’m speaking in general).

            1. Biff*

              Not in tech. Tech isn’t like hiring a mechanic. Even if two programmers use the same language, they can use it in entirely different ways that are unintelligible to each other. Someone can come in with all the right skills, and still spend a year learning how to do it ‘our way.’

    3. JoJo*

      Thank you! I always hated the teachers who tried the ‘Socratic Method’. Don’t ask me what I think the answer is or what I think I did wrong. If I knew I wouldn’t be asking you.

    4. LiptonTeaForMe*

      THIS!!!

      My logic doesn’t always follow the direction it should, so if you can nudge me in the right direction, then I can figure it out. I don’t want to be told the answer, but at the same time asking me to read something when I am already frustrated because I don’t understand what you are trying to tell me just makes me more frustrated! I learn visually and through repetition and given the tools and a sounding board helps immensely, but you have to take the time to teach and help before I will get there.

    5. Quirk*

      I think the problem is that we’re talking about different levels of teaching here.

      In the workplace, I only rarely see bugs arising out of conceptual misunderstandings of what the code they’ve written does (and when I do, it’s usually an indication that the developer in question should not be in the position they are). Most of the time developers see the bug almost instantly when it’s explained to them – they’ve missed something they were entirely capable of comprehending.

      What needs taught is not concepts, but habits. Habits of methodical detective work, of vigilance against error, of enumerating and guarding against boundary conditions. These habits are fostered by practice.

  66. LiptonTeaForMe*

    I agree this is a way to teach others how to find the answers. But this method annoys me to no end as I do not learn in this manner. I need a bit more of a direct hand, point me in the right direction, help me reason it out and you will see less and less of me as I learn to find the answer on my own. But handing me something to read when I am already on the wrong track just frustrates me even more!

    1. fposte*

      And I think if you’re in a class, that’s a legitimate objection. But when you’re an employee, especially an intern, that kind of detailed hands-on training isn’t always going to be available, and you have to adapt your learning style to what people can give you. I think the kind of teacher service Biff suggests above is absolutely appropriate for a student, but with an employee, that’s a level of pedagogy that’s above and beyond for a manager.

      1. Biff*

        This is how I teach at work. If I want quality coworkers, I have to provide quality training. I gain absolutely nothing when I provide less.

        1. Window Seat Anon*

          Yeah, I think it truly reflects on the company and manager how much time are they willing to invest in their employees to get quality versus just getting a warm body that looks qualified on paper and telling them “here’s your desk, get to it!”

        2. schnapps*

          And this was my point. It’s helping them along the path to the answer rather than just saying, “Try again.”

          And I think it speaks to the larger issue that despite some very good programs out there, people who are new to a job don’t always have the skills necessary. A good manager will help mentor you through that process in a way that works for both of you.

  67. Mel in HR*

    I was so happy when I read Alison’s answer. While I read through this letter, I kept getting the feeling that OP was running into a problem, getting frustrated and hoping for a straight answer. Meanwhile, OP’s boss was trying to guide OP into figuring out the answer. When I was struggling with math, my dad would take the same approach and I would get frustrated because I was too upset to find the answer and wanted a quick way out. BUT because he made me learn how to find the answers, I didn’t have to go back to him to ask the same question again.
    I really think OP needs to take a step back from feeling frustrated and realize that his replies are meant to guide the thinking in the right direction without giving a quick solution. The more quick answers, the more questions will have to be asked because you have not learned how to get to that answer. I don’t think Boss is trying to make OP feel as if they are not good enough, I really do think Boss is trying to help and not just be the go-to answer person.

  68. CAA*

    I suspect what we have here is a mismatch between the OP’s skill level and the actual requirements of the position.

    One thing I see in many of the comments above is an assumption that the boss actually knows the answer and could just give it to the OP if he wanted to, but instead he’s doing the teaching thing to be helpful. Other than the one example where the boss said he could see the issue on a quick once-over, this is not generally how programming works. It’s not like there’s one right answer and if you know it, then you can just write it down. I can’t answer questions about code and what’s wrong with it without actually doing the research and solving the problem myself. Even with something I wrote, if it’s been a while since I looked at it then it takes time to read the comments and understand it again and remember all the ins-and-outs of how it works.

    In a small company where you’ve got a newbie working remotely, it’s not really feasible for the boss to provide the level of mentoring that a very junior dev needs to be productive. This may be a situation where the company can’t afford to hire the more senior developer they really need, and there won’t be any additional help forthcoming for the OP. These types of jobs can be an excellent opportunity to switch career paths into development, but you have to understand that you’re pretty much on your own and take a lot of initiative to figure things out and learn by trying and failing. This won’t work well if you learn best by having someone teach you directly, and this job might not be the best fit for you if that’s the case.

    1. éscargot agile*

      I agree that when the OP one day starts looking for a new job, she should look for an in-office position because it allows much more effective learning.

  69. Macedon*

    This is pretty standard coaching, in my experience — but maybe there have been other signals (comments, tone) that allude to the boss’ condescension. Otherwise, OP, do you think there is a possibility that you might be projecting some imsecurity over your current inexperience and the level of your training?

    I actually thought it a blessing when I ended up with mentors willing to provide hints. Most my professors/editors used to assign me stories or leads and pretty much just say, “Get the info.” How? Where from? Who’s the best person to approach? What’s the most efficient route? (Never mind the actual info itself). Not their problem. Get it. It’s sink-or-swim, but it definitely refines your search/hunt/logical processes.

  70. Window Seat Anon*

    Just want to put it out there I have ZERO programing/coding experience and am not commenting on that field in any way. I have skimmed the comments above and all I wanted to say was this: not all learning styles and teaching styles work well together.

    I am currently in a situation where my mentor’s teaching style and my learning style clash consistently. We both try to make the best of it but end up frustrated, irritated, and annoyed with one another on a regular basis.

    So I’m sided more with the “I’m on the fence” commenters. I get that the OP’s boss is trying to teach/mentor her, but at the same time, many of the comments (especially the ‘read and understand first’) would have me fuming at my desk. So I’d say, definitely try and work on bettering communication.

    1. _ism_*

      I agree. I’m in a similar mentorship situation with my boss. If I dare try to tell her what I’ve already tried, what documentation I’ve already reviewed, or lay out every step I took and what each result was before moving to the next one…. she gets mad and interrupts me. I can’t even get out half a sentence or half a question.

      It goes like this:

      Me: I’m preparing the weekly report, but-
      Her: Are you preparing it the way I taught you?
      Me: Yes, and I ran into a problem I haven’t seen before, it’s-
      Her: Did you do the steps I taught you? Do you have them written down?
      Me: Yes, in fact I double checked every step, starting from step 1, which was-
      Her: Well what about step 3?
      Me: Step 3 was fine, it’s step 4 which is-
      Her: Step 4! You know how to do step 4. Reread your notes.
      Me: My notes on step 4 don’t cover this new situation I’m trying to tell you about, which is-
      Her: You really need to review your steps before you come to me.
      Me: I did review my steps, I double checked them all, I reviewed my notes, I reviewed your documentation, but the new customer we just got has different-
      Her: Your steps should be the same no matter the customer. Review the documentation. Try it again.
      Me: OK, I’ll go do steps 1-3 again and try 4 again too.
      Her: No, you need to start over from the beginning if it’s this much of a problem.
      Me: Yes, I will.
      Her: No, you can’t just start over. That’s a waste of time. You know the steps. I don’t see why there’s a problem with this customer.
      Me: There’s not a problem with this customer, but they do have different rules than our usual customers, and that’s why step 4 isn’t working, and I think I’m missing some key information about this customer.
      Her: Check our customer reference files.
      Me: I did. I didn’t find anything about this situation that our documented procedure that you taught me will cover. I just need to know a different way to do step 4 for this customer that I haven’t been taught yet.
      Her: You really ought to be able to figure this out.
      Me: Maybe I’ll just call the customer directly?
      Her: NO!!!!! DO NOT TALK TO THE CUSTOMER LET ME HANDLE IT
      Me: Um, ok, but I’d like to at least add something to our documentation about this special customer. Can you tell me what I should add so we don’t have to worry in the future?
      Her: You need to get this info from the customer if it’s not in our documentation.
      Me: Um… ok… so will you call them for me then? Is that what you want?
      Her: We shouldn’t need to talk to the customer. This should be documented.
      Me: this is a brand new customer. It’s not documented yet. I’m happy to document it once I know what I’m documenting.
      Her: YOU MAKE IT ALL SO COMPLICATED JUST LET ME DO IT

      months go by

      Me: Um, you know that customer I didn’t know how to do step 4 on and so you handled it? We have to do the procedure for them again. I don’t have documentation to handle it. I’d like to handle it. I’d like to handle it all times in the future too. I just need a question answered about their invoices…
      Her: WE’VE BEEN THROUGH THIS IF YOU CAN’T TRY ON YOUR OWN TO FIND OUT THEN I DONT KNOW HOW TO HELP YOU

      1. Daisy Steiner*

        Oh wow, I got a throbbing vein in my forehead just reading that! It brought back all kinds of bad memories.

        1. Daisy Steiner*

          Once, when I was in to work an hour before my team leader, I got started on some work that I knew, even if it wasn’t needed, at least wasn’t going to harm anything. This was instead of my doing nothing for an hour.

          When she arrived she said ‘You should have checked with me before starting that’. I said, ‘You weren’t here’. She said ‘You still need to check with me.’

      2. Window Seat Anon*

        Oh my _ism_ that’s what I go through on a daily basis with my mentor! And most of the time it’s through IM because she doesn’t want me coming over to her desk a bunch of times. So I copy and save the conversations. I am going to bring them to the attention of my manager when we have our next meeting. I’d try and address them with Mentor, but I’m unsure about that. She’s not part of the team I’m on and has a different manager. She also has a different title than the others on her team. Not like lead or anything, but essentially higher than them but lower than their manager. So I’m just not comfortable with that weird dynamic.

        But I feel your pain. My mentor does the whole ‘just let me do it’ and when it comes up again is frustrated that I don’t know how….because she never showed me!

  71. Apple Butter*

    I’m a big fan of the approach the mother took in the Ray Charles biopic “Ray” when dealing with her newly-blind son. “I’ll show you how to do something the first time and I’ll help you the second, but the third time you’re on your own, because that’s how life works.” It sounds like this guy is jumping straight to the third time. Every time I’ve been in a position to teach someone, I’ve shown them how to do it the first time, helped them the second and then set them free after that.

  72. Andi*

    I disagree with Alison here. I read the comments as condescending, too. Even internship managers aren’t there to play 20 questions with you. If he feels she needs to put more effort into finding solutions before asking questions, he should say that instead of passive aggressively saying “Read this article :) “.

  73. ParteeTyme Brand Yohimbine-Rohypnol Injection*

    I’m late to the party, but based on the information given plus my own experience in the software field[1], I tend to side with the OP on this one. The first thing that caught my eye was …small technology startup. My boss wrote the entire codebase for our project; there’s no documentation. To me, this indicates that the code is probably a complete pile of shit.

    For sure the OP should develop debugging skills and endeavor to find answers and solve problems on her own. But the responses from the boss strike me as seriously condescending, and even sexist. The boss might think he’s trying to ‘teach’, but he’s not good at it. And since he’s a male computer geek in a dominant position at a start-up, he can do no wrong. In truth, there is a lot more to effective teaching than responding to questions with impenetrable zen koan-like statements. I’d venture that the OP would learn more stuff faster if she just got the straight answer she’s asking for.

    I think the OP is probably doing everything she can to deal with the situation: avoiding IM, weekly status meeting with the boss, etc. But I would encourage the OP not to fall into the mindset that this is all on her.

    Oh, also: someone commented that OP should be able to debug her own code. And yeah, that’s right, but in this case, OP is maintaining and adding features to a large mass of undocumented code that was written by a single person and (I’ll say it again) is almost certainly a massive and steamy turd. There is a lot of potential for really strange and un-obvious side effects and bugs to creep in under these circumstances (especially if the code is largely C++).

    [1] I taught myself to program in 1973, I have a BS and MS in Computer Science and have been working in the software industry (with some kind of emerging tech / innovation focus) for over 30 years. I’ve also done a lot of teaching in grad school and on the job.

    1. Steve G*

      What were you coding in 1973? Very curious.

      I agree with your POV a lot, partially because of my experience working at a startup for 2 whole months where the main “IT” person who was even younger than me made my life hell because she was so full of himself and was so important and busy and involved in everything but standoffish at the same time….and my guess is that it was because he felt superior from being so much in control of the company by having so much control of their IT/coding/programs because he wrote the codes (and no one else even had access, except maybe the owner).
      This was the main example of why they were a horrible place to work, which is why this letter strikes such a chord in me.

      1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

        …because he wrote the codes (and no one else even had access…

        Yeah, it’s a red flag for me when someone brags about that kind of ‘accomplishment’. It’s an immature attitude that fools a lot of people into thinking “gee whiz he must be smart!” Whereas in fact people who do this kind of thing are often (not always) really not adding anything of worth to the project (except maybe a flaky prototype system that impresses investors and upper management). A truly good, mature programmer doesn’t try to hack something together and keep it a secret – they want to write something solid that will get picked up by other people and will last for a long, long time.

        To answer your question – first off, I’m really not trying to play the “my programming penis is bigger than yours” game. Many questions that come to AAM can be answered with some combination of intelligence, logic, and common sense. But there are other questions that rely on technical details and experience, and this was one of them, and I felt like I should mention my experience in the field. (Contrawise, you won’t see me here on AAM trying to advise on the finer points of, say, the FMLA). Similarly, your experience with ‘startup culture’ seems to have lead to a different interpretation of the OP’s letter than most people have taken.

        All that said: it was a CDC Cyber 7214, running the KRONOS operating system (an early time-sharing OS). It was located at college campus near where I lived, and I started with BASIC and then picked up FORTRAN and LISP and SNOBOL and APL and a bit of PL/I, and I wrote a Turing Machine Emulator and several versions of JH Conway’s Life and searched for Perfect Numbers and other nerdy stuff. I was 13yo. I didn’t get any practical experience with C or assembler until I went to college in 1978, where I also picked up Pascal and Prolog and TUTOR and a little bit of Forth, yadda yadda … there comes a point when you don’t really keep track of the languages you know, you just know how to learn the basics in a day or two and ramp up from there.

        1. Steve G*

          Very interesting, you are 20 years older than me so I was a bit surprised when you said you coded in 1973 because I thought no one was really doing computer programming then. I looked up the languages you wrote because I honestly hadn’t heard of them and I don’t have anyone to really ask about that sort of stuff since my coworkers are all very young and my family is mostly blue collar so wasn’t working with computers at all….
          Thanks for the response

          1. ParteeTyme Brand Yohimbine-Rohypnol Injection*

            Heh. And I’m pretty sure I’m not (yet) the world’s oldest software geek. FORTRAN was introduced in 1957; LISP in 1958 (which provides an interesting lesson in the development of high-level languages “in a vacuum” versus “based on decades of previous technology”). But yeah, some people had a pretty deep understanding of programming and computation even before computers arrived on the scene for real. Heck, the Russians did some pretty amazing work in cybernetics back in the mid-20th century (the joke being that cybernetics was “doing computer science when you don’t have any computers”) that eventually led to all of that cool DeepDream stuff that Google announced not too long ago.

            In truth, it’s not hard to pick up programming at a “skilled tradesman” level through some kind of “boot camp”. But those people tend to have a fairly shallow level of understanding compared to someone who has a 4 year degree in CS. When the conversation moves away from Java Syntax and into numerical methods or computation theory or logic design or even advanced data structures, they typically get very quiet.

  74. CrazyLadyLocks*

    I swear, I wrote an email almost exactly like this one a couple years ago. I was not an intern, but a freshly out of college with only an internship behind me new employee. I am not a developer, but am in IT, working in systems and networking management. The boss I had at the time was absolutely terrible at giving me feedback that was at all useful. If I asked him a question he would belittle me, or stare at me like I was ridiculous, or question me until I guessed close enough that he would finally give me a hint.
    I got a lot of replies similar to what OP got from this ask, “he’s trying to help teach you”, “you need to be more confident.” “learn to look it up for yourself instead of going to him for everything”.
    All of this is good advice for someone who hasn’t already looked at the problem for hours on end before going to their boss, who hasn’t taken the laptop home to try and map out the problem and spent all mapping it all out so they can really understand it.
    Sometimes personalities just don’t mesh. While what he’s doing is probably a great teaching style, it’s not great for OP’s learning style, she’s already stressed and being quizzed and belittled only makes the stress more daunting.
    I hate to say this, because I didn’t want to hear it when it was my situation, but sometimes, if you don’t mesh well with the people you have to work with it’s best to just get out, and move on.
    Find a team that will let you learn from them, that offers to explain why things are the way they are, and that takes the time to make sure you’re in a good place.
    Trust me, finding a team that really wants to let you learn will help you, with out being condescending.

    1. sunny-dee*

      To be blunt, though, what the manager is doing and the expectations he has are standard for the industry. If she can’t work through it, then it’s not a personality clash; I think it really is a skills / industry mismatch.

      1. Annalee*

        I struggled in a similar way to the OP when I was starting out, in a similar situation. It wasn’t a skills/industry mismatch for me and it may not be for her. And if I had a dollar for every time I heard “she probably just doesn’t have the skills” in response to a woman complaining about a toxic culture problem in the tech industry, I could go and build my own tech industry.

        In an internship, the benefit is supposed to be for the intern, not the company–otherwise they should be classed as a regular employee and paid a market wage. If this particular company is not able to take on an intern and provide the actual constructive mentorship an intern needs (which means actually teaching her, not making her feel like a burden or telling her to RTFM because he doesn’t have time), they shouldn’t be hiring interns. Hiring interns and expecting them to do the work of regular employees, then making them feel inadequate/incompetent/stupid for not being able to hack it is exploitative.

        1. sunny-dee*

          He did neither of those things (burden or RTFM). She asked him how to do something, he researched it for her, gave her the article, and told her to apply it. She responded with “so you want me to do A?” and he said, no, read the article and then ask questions — which, depending on the time frame is an entirely fair response.

          She is ultimately complaining because he won’t just tell her what to do instead of telling her to learn what to do. If that mindset doesn’t change, then it’s a skills mismatch. If she can find a better way to train herself or develop the skills he is trying to help her develop, then she can succeed.

  75. Aida*

    I’ve been appointed as a mentor for a less experienced member of my team, and I’m struggling! He asks me questions INCESSANTLY, interrupting my work about 20-30 times a day. It’s rare for me to get a whole 30 minutes to concentrate without him throwing problems at me. Often I need to completely abandon what I’m working on to help him.

    I’ve tried teaching him how to find the answers himself. I’ve tried asking him to save queries up so we can go over them together at an allotted time. He still interrupts me frequently, even when I tell him I’m busy working on something important he will continue pestering me until I drop everything to help him.

    I often feel like he could solve these problems himself if he took the initiative (this is how I learned, by thinking things through by myself) but he finds it easier to use me as a crutch. As such I find myself getting snappy and short tempered with him out of frustration, and being deliberately unhelpful so he’s forced to work things out by himself. I’m really that concerned this is making me look unprofessional in front of my manager, but I can’t work with these constant interruptions! How do I deal with this?!

    1. schnapps*

      Put your expectations in writing, e.g. “I want you to try to find the answers yourself before you come to me. If you come to me, I want to know what you’ve tried already.” And explain them to him.

      Set up a meeting time with him every few days to go over his questions. No questions outside of that unless they are of a very urgent nature. And if he comes up outside of those times and it’s not urgent, then tell him, “We set up meetings for this. We’ll discuss it at that meeting. Then turn and go back to work.”

    2. _ism_*

      My boss feels this way about me. It’s because if I don’t interrupt her, my questions go unanswered. I can email her, but she won’t see it in time because her inbox is insane. So I have to resort to paging her, visiting her desk, or god forbid ask somebody else.

      I don’t think I use her as a crutch though. I don’t need her to do my work for me, I know what I’m doing in general. It’s always something unique and specific that I have to ask her about because things change so often around here. She gets visibly frustrated at the interruptions, but I don’t know another way to get her attention. It’s how she operates with everyone. If you don’t interrupt her RIGHT NOW then she’s likely going to respond at all. Is it possible your employee is experiencing something similar?

    3. TootsNYC*

      being deliberately unhelpful so he’s forced to work things out by himself. I’m really that concerned this is making me look unprofessional in front of my manager,

      Tell your manager that this is going to deliberately be your strategy.

      Use some of the “rubber duck” / “what would you do if I weren’t here?” (my mom also used to say, “what if it -was- a cookie, and you wanted it; what would you do?”) scripts, and say them to him VERBATIM every time. And then close your mouth and keep it closed (bite your tongue if you have to). And wait.

      This will keep you from getting snippy, which will help.

      Also, tell your mentee that this is going to be your strategy, and that it’s because you need him to show the initiative to answer his question.

      Also–never make a statement; always ask questions (my mom did this one too).
      “What resources would you use to get that answer?” “Where do you think you could look?” “How could you figure this out?” And wait.

  76. Bonnie*

    This is so familiar to me. When we interview interns, we tell them that we will frequently answer a question with another question to help them learn. During the interview process, they all love the idea. But a couple of months into the position, you can see them thinking, “Not another question? Can you just tell me the answer already?”

  77. Paquita*

    I took an coding class with a teacher whose response to my question:
    “It is right at the end of your nose.”
    Those sitting near me were in shock! He and I actually got along quite well and he knew I would not be upset, but nobody else knew that.

  78. Megan*

    While I generally agree with the response here, responses like ““I saw the error just skimming over the code. Can you find it?”” generally aggravate me. If I were able to find the error on my own, why would I be here asking you? I’ve asked for help, don’t make me beg.

  79. RonS*

    I’ve been teaching for many years, and “Read and understand first, then ask questions. :)” is completely inappropriate, condescending behavior. “I saw the error just skimming over the code. Can you find it?” is completely, utterly unhelpful. I really don’t see how you could be interpreting this as a teaching attempt.

    1. Biff*

      I agree! I’ve been teaching for only 8 years, and I’ve been training in the office setting for about 4-5, but even so I can recognize this is more likely to shut students down than bring them to knowledge.

    2. Not Programmer Material Apparently*

      Yeah. It’s good at training OP to stop asking for help (condescension and a total lack of useful information will do that), but it completely fails at connecting, guiding, leading, or encouraging in any way. It’s not good teaching.

      This isn’t even Socratic questioning, which so many people in this thread are comparing this to. With the Socratic Method, you answer the student’s question with another question designed to stimulate thought and open up a dialogue that will hopefully lead them to a deeper understanding of the subject. The boss just asked her the exact same question she asked him (“Do you know what’s wrong with this code?”), and otherwise just tells her the answer’s obvious, try to understand harder. (Passive aggressive smiley face)

      There’s a lot more that goes into the Socratic Method than just withholding answers.

    3. sunny-dee*

      Except this guy isn’t a teacher, he’s a senior engineer / president. She doesn’t say how long she took to respond, but he researched (!) the article for her and told her to read it. If she replied immediately with “you want me to do A?”, like all she did was read the headline, then then what she needs to do is slow down, read it, and ask specific questions.

      Some of this is industry-specific, I’m thinking, but I have worked with hundreds of programmers. I literally do not know a single one of them who would behave the way the OP is. She cannot be successful in programming if she doesn’t learn these skills. Technique certainly matters — I’m not arguing that it doesn’t — but she is 1) overreacting to what seems like a really nice, laidback guy by engineering standards and 2) not getting what he is trying to do, which is do it herself. The thrust of her letter is “how can I get him to just tell me the answers?” But that is not something real programmers get. If she cannot sit down for hours, or even days, and look for a one-character syntax error in thousands of lines of code, she can’t be a programmer. If she can’t read an article and figure out how to apply it — much less research it herself! — she can’t be a programmer.

      We can argue about his teaching style, but ultimately the change that she wants to have happen is simply not possible in this job. She wants him to feed her answers and design her code for her. That’s not realistic.

  80. Quirk*

    Experienced dev here. Currently replacing trading engine for a major stockbrokers.

    There are I think a few important insights into the dynamic here, some of which have been covered already in the comments, some not so much.

    1) Interns and graduates are not cheap labour. They are a drain on engineering resources.
    It takes a fresh grad hours to accomplish something a senior engineer would do in minutes, the quality is usually lower, and the ancilliary questions they ask often tie up senior team members for more time than the value of their work. This improves pretty rapidly over the course of the first couple of years.
    As a graduate, you do not want to get a reputation as someone who doesn’t put the work in to figure out the “easy” questions. One of the best ways to demonstrate that you’ve put the work in is to turn up with a detailed list of things you’ve tried that didn’t work; this gives your question credibility.

    2) Development is a self-taught discipline.
    Couple of reasons for this. One is that most academic compsci people appear to be incapable of writing reliable maintainable code and therefore cannot teach development to any useful level. Another is that development frequently tends to start from a position where you have imperfectly clear requirements, an unfamiliar API and a host of error conditions that nobody is specifying for you explicitly – learning to operate in such situations is like learning to swim and really the main thing you need is to spend as much time as possible in the water.
    If you’re having difficulty solving a particular problem, giving you the solution isn’t much help, it’s like getting something off the bottom of the pool for you. If there are insights that will help your problem-solving technique, or fundamental tools you’re missing, those are valuable, but sometimes the most valuable lesson is just perserverance.

    3) Development takes time, and developers know this.
    Early in my career I spent a week debugging and the final result was that I changed a 4 to a 3. (Porting a decently large bit of software between different implementations of OpenGL, one of which was lying in its spec about the way a particular call worked). When developers move to management and mentoring, we’re well aware that the progress being made is not always very visible.
    It’s tempting to run and ask for help because you’ve worked at this for two hours now and you still haven’t solved it and oh help they’ll think you’re slacking. They won’t. As long as they get some questions now and then when progress is slow and the questions show you’re engaged with the problem to the best of your ability, they will be content.

    To tie some of these back into your original post: your boss could be more helpful, but his time is valuable and it makes sense to expend it only where he can provide a good teaching outcome. However, it might still save him some time in the long run to educate you in the ways of debugging tools.

  81. JessaB*

    People do have different learning styles. I for one do not learn totally new content very well by reading. I have to have someone show me, I’m a watch one, do one, teach one kind of learner.

    In the OP’s case I think maybe a discussion with the boss when there is nothing wrong going on, wherein the OP tries to get the boss’ buy in on something like being able to say “Okay boss, right now I’m at the limit of my frustration, I need an answer for this one,” and get the boss on board with giving answers at that point. I don’t know that it’s actually the method but the amount of going around in a circle a number of times that’s really bugging the OP. Maybe “Hey boss after you give me two hints or pieces of advice, and I’m still flailing please give me the answer?” Or something belike.

  82. 140285*

    I would start phrasing my questions like this: [What you already tried], but [question/problem].
    “I’ve tried___ and ____,” “I looked into ___ and ___,” “I did some research on ___,” or “I considered ___”
    +
    “but I am still not sure about ___”
    “I’d love to hear your thoughts on ____”

  83. LuvzALaugh*

    Your boss is an awesome mentor. You don’t see it now….but in hindsight later you will. Just answering your questions would not teach you how to find out and learn things on your own. One day you are going to change jobs and realize not all bosses are good at growing the people they manage.

  84. Vicki*

    Your experience is in the humanities and, well, you and your manager have very different mindsets and psychological types. Your boss is an engineer. We talk like this.

    There is a “mantra” in development circles: RTFM. It stands for Read the Fine Manual. (Feel free to replace F with another word as one of you becomes more frustrated). http://www.urbandictionary.com/define.php?term=RTFM&defid=773100

    He’s teaching you to figure things out on your own.

  85. james carroll*

    The best tutor I ever had would ask us to calculate things, write his answer on the whiteboard and ask us if it was correct. His answer was often subtly wrong, such as being the correct number but negative instead of positive.

  86. brownblack*

    I wonder if the problem is the boss’s tone when it’s via email or IM. We all know what a hazard zone that can be. If this were only an occasional thing I wouldn’t be upset but if I got emails/IMs like the OP’s examples every day (especially with the smiley faces – I mean, really), I would start to get irritated. I think both the OP and her boss would ideally adjust a bit.

  87. CuhPow*

    This actually sounds like a great and patient manager. One understanding OP knows little and taking time to teach rather than dismissively doing it for her. And no where in the examples does it sound rude, condescending, or mean at all. Just like he’s trying to help her work through problems without feeding her answers.

Comments are closed.