JavaRush /Java Blog /Random EN /Coffee break #77. How I dealt with severe impostor syndro...

Coffee break #77. How I dealt with severe impostor syndrome. How to pass a programming interview - advice from a senior developer

Published in the Random EN group

How I dealt with severe impostor syndrome

Source: Medium At university, I chose computer science as a major because I assumed that anyone could do it, regardless of education or intelligence level. I was also intrigued by the possibility of using technology to solve real-world problems. But if I had known in advance what it took to become a computer scientist, I would never have entered this field. I would automatically disqualify myself due to incompetence.Coffee break #77.  How I dealt with severe impostor syndrome.  How to pass a programming interview - advice from a senior developer - 1Most people who choose computer science believe they have above average intelligence, so they are up for the challenge. But in most cases they fail to solve the problem. At my university, the dropout rate for computer science majors was 75%. However, those who succeeded in computer science were exceptional and very talented people - whether they knew it or not. As for me, I considered myself quite mediocre, but still decided to take up computer science. After my first year at university, I completed a software engineering internship during the summer. I was happy to make money, but I felt like a fraud. I knew I was hired despite my incompetence. And I didn’t understand why hire someone who doesn’t know how to program? When the summer ended and it was time to return to university, my boss extended the internship for another 6 months. He said that he liked my work and wanted me to work in the company while studying. Honestly, I knew it was a lie. I felt that he liked talking to me and that I fit in with the company culture, so he was willing to support me. From this I came to the conclusion that many companies keep incompetent employees as long as the boss likes them. Now I was one of them. After my second year, I went on another summer internship. A few weeks later, my boss made me a technical manager trainee. He thought I could be a great leader for the other trainees. This made me skeptical of his opinion. How could he know after just 3 weeks what kind of leader I was? I have never supervised anyone in any job. I gave up writing code in hopes that it would work. Then he will have a reason to fire me. At the beginning of my third year, I applied for the position of research assistant to one of the professors of the department. I didn't think I could qualify, but I thought it couldn't hurt to try. In the end, I got the job. This was a research project funded by the National Science Foundation (NSF) with a renowned professor. Many master's students who wanted to work for him were refused - he considered them incompetent. But he chose me. Third year undergraduate student. This made my anxiety attacks worse. I was absolutely sure that I would be fired in the first week. I didn't know what I was doing. I knew nothing about computer science research. I didn't even write good code for my homework. I was 99% sure that I had become a real liar because they kept hiring me. Shortly after finishing my research, I started applying for internships because I needed a backup plan. I sent out several applications. In past years, only small companies would call me back. This time everything was strange. Interview requests poured in from Google, Facebook, Bloomberg and many other tech companies in just the first week of filings. Usually people are delighted with such news. But I am not. I panicked very much. After all, it's not me. I felt like I had embellished my resume so much that now people thought I was something else. I was very afraid that these companies would find out that I was not as smart as I looked on paper and they would fire me immediately. Therefore, I refused all interviews with large companies. After an interview at a small startup, I realized that they wouldn’t hire me there either. I knew that the code I wrote during the interview was terrible, buggy (meaning it had bugs), and there was no way they would call me. I even asked for extra time to finish the algorithm. Why would anyone hire a slow programmer? The next day I received an email with an offer. I was shocked when I was offered the job. I even asked the engineer who interviewed me why he hired me. He said, “Your resume was the best we received for interns this summer, and after talking with you, I knew we should hire you without a doubt.” What? I felt like I was lying all the time. After they hired me, they were going to find out what I could do, and I lied, not knowing what I was doing. But I still got a job. At the same time, I worked part-time at the university. A couple of months later, Google reached out to me again. This time it was a full-time job after graduation. I've never applied to Google for a full-time job. Why did their recruiter approach me about a potential software developer job after graduation? I didn't even finish my last year of school. Moreover, they did not even officially open applications for this vacancy. I asked the recruiter how they found me? I didn't apply for this position at all. He said: “Google sends recruiters to certain schools every year to hire graduate engineers. I have been appointed to your college. We review students' profiles, their LinkedIn, personal website and their public resumes and contact the best candidates. Your resume has been specially selected for next year’s graduating class.” If you're interested, here it is Why would anyone hire a slow programmer? The next day I received an email with an offer. I was shocked when I was offered the job. I even asked the engineer who interviewed me why he hired me. He said, “Your resume was the best we received for interns this summer, and after talking with you, I knew we should hire you without a doubt.” What? I felt like I was lying all the time. After they hired me, they were going to find out what I could do, and I lied, not knowing what I was doing. But I still got a job. At the same time, I worked part-time at the university. A couple of months later, Google reached out to me again. This time it was a full-time job after graduation. I've never applied to Google for a full-time job. Why did their recruiter approach me about a potential software developer job after graduation? I didn't even finish my last year of school. Moreover, they did not even officially open applications for this vacancy. I asked the recruiter how they found me? I didn't apply for this position at all. He said: “Google sends recruiters to certain schools every year to hire graduate engineers. I have been appointed to your college. We review students' profiles, their LinkedIn, personal website and their public resumes and contact the best candidates. Your resume has been specially selected for next year’s graduating class.” If you're interested, here it is Why would anyone hire a slow programmer? The next day I received an email with an offer. I was shocked when I was offered the job. I even asked the engineer who interviewed me why he hired me. He said, “Your resume was the best we received for interns this summer, and after talking with you, I knew we should hire you without a doubt.” What? I felt like I was lying all the time. After they hired me, they were going to find out what I could do, and I lied, not knowing what I was doing. But I still got a job. At the same time, I worked part-time at the university. A couple of months later, Google reached out to me again. This time it was a full-time job after graduation. I've never applied to Google for a full-time job. Why did their recruiter approach me about a potential software developer job after graduation? I didn't even finish my last year of school. Moreover, they did not even officially open applications for this vacancy. I asked the recruiter how they found me? I didn't apply for this position at all. He said: “Google sends recruiters to certain schools every year to hire graduate engineers. I have been appointed to your college. We review students' profiles, their LinkedIn, personal website and their public resumes and contact the best candidates. Your resume has been specially selected for next year’s graduating class.” If you're interested, here it is Your resume has been specially selected for next year’s graduating class.” If you're interested, here it is Your resume has been specially selected for next year’s graduating class.” If you're interested, here it ismy resumefrom college. In my third year, I was thinking about launching an IT startup after graduation instead of getting a full-time job. When Google reached out to me again, it made me stop and really think. What if I really wasn't as bad a programmer as I thought I was? What if I had skills that others could see, but I didn't notice them? The invitation from Google is what really gave me the final push and confidence to launch my startup. If such a company thinks that I am potentially a good developer, then I should check it out. I will create my own business software that solves real problems that I care about. Let's see how this works. So, I refused Google's offer. I started working on my startup after graduating. I felt like if I could get customers interested in my product, then I was actually worth something. Maybe I really am gifted, talented and incredibly brilliant. A year later, we beta-tested the app. Sometimes clients can be the harshest critics and the most difficult people. However, most of our target clients were impressed with my software. A user commented on one of our features in the app and said, “Wow, that's innovative.” Another tested the app and said: “I would definitely pay for this. How much can I pay to use it? And when can I start using it?” He then called his business partner and said, “This girl did something that will save us a lot of money. We need her." This is how I realized that I had managed to overcome my impostor syndrome. One of my professors talked about imposter syndrome my senior year of college. After the talk, he said that over 80% of the class (I was part of that 80%) contacted him to thank him for speaking on the topic because they felt stupid. I'm talking about outstanding, exceptionally gifted students whom I admired and who, it turns out, also struggled with their feelings of inferiority. I learned how to deal with impostor syndrome. My perception of myself was based on comparing myself to others. But I needed to compare myself with my past experiences. Learning to appreciate my work helped me realize that I was good enough at my job. I didn't know how to write the best code during my first internship, but I had a proper understanding of user interface (UI) design. My boss later told me that they kept me because I had developed a good prototype for them to update their website and they decided to use it to redesign the platform. Although I didn't know how to code properly at the time, I had a valuable skill that not all developers have: good user interface design. At an internship where I was an intern manager, my boss no longer had to coordinate interns because I could do it for him. So I made his job easier. Managing people to do their jobs is an incredible skill, and I had it. I underestimated myself by thinking that my job was just writing code. There were other requirements in which I excelled better than others. The professor I did the research with said that during the interview he was impressed with my knowledge of technologies and which ones I wanted to focus on in my work. He said, “Many students come here trying to make analogues of popular applications, and you are here because you want to make something that you understand and know how to use.” He was impressed. While in college, I worked on a lot of personal projects and learned a lot from there. It's not every day that you come across a college student who has completed six internships with personal projects and independent research before graduating. This shows that I am a motivated student with a strong work ethic. It's no surprise that Google is interested in me. Who wouldn't want such an employee? It took me a while to truly learn to appreciate the enormous effort and work I put in overtime. Now it has paid off. I didn't need to compare myself to others. I had already dealt with everything, and people saw it. I also needed to see it with my own eyes. Now, when I sit with newbies who are just starting their programming journey, they seem to think that I magically know all these things. But in reality I just spent a lot of time studying them. I have worked on at least ten projects over the past five years related to programming (including 4 years of study). After all, I've tried so many things, and this experience helps me make better decisions in development and makes me look like “I know something.” Seeing the result of my work, I changed my attitude towards myself. The more my work benefited others, the more I began to believe in myself. I just remind myself of all the difficult things I've been able to solve over the years. This won't be the mountain I die on. I will definitely overcome it and continue. that you understand and know how to use it.” He was impressed. While in college, I worked on a lot of personal projects and learned a lot from there. It's not every day that you come across a college student who has completed six internships with personal projects and independent research before graduating. This shows that I am a motivated student with a strong work ethic. It's no surprise that Google is interested in me. Who wouldn't want such an employee? It took me a while to truly learn to appreciate the enormous effort and work I put in overtime. Now it has paid off. I didn't need to compare myself to others. I had already dealt with everything, and people saw it. I also needed to see it with my own eyes. Now, when I sit with newbies who are just starting their programming journey, they seem to think that I magically know all these things. But in reality I just spent a lot of time studying them. I have worked on at least ten projects over the past five years related to programming (including 4 years of study). After all, I've tried so many things, and this experience helps me make better decisions in development and makes me look like “I know something.” Seeing the result of my work, I changed my attitude towards myself. The more my work benefited others, the more I began to believe in myself. I just remind myself of all the difficult things I've been able to solve over the years. This won't be the mountain I die on. I will definitely overcome it and continue. that you understand and know how to use it.” He was impressed. While in college, I worked on a lot of personal projects and learned a lot from there. It's not every day that you come across a college student who has completed six internships with personal projects and independent research before graduating. This shows that I am a motivated student with a strong work ethic. It's no surprise that Google is interested in me. Who wouldn't want such an employee? It took me a while to truly learn to appreciate the enormous effort and work I put in overtime. Now it has paid off. I didn't need to compare myself to others. I had already dealt with everything, and people saw it. I also needed to see it with my own eyes. Now, when I sit with newbies who are just starting their programming journey, they seem to think that I magically know all these things. But in reality I just spent a lot of time studying them. I have worked on at least ten projects over the past five years related to programming (including 4 years of study). After all, I've tried so many things, and this experience helps me make better decisions in development and makes me look like “I know something.” Seeing the result of my work, I changed my attitude towards myself. The more my work benefited others, the more I began to believe in myself. I just remind myself of all the difficult things I've been able to solve over the years. This won't be the mountain I die on. I will definitely overcome it and continue. The more my work benefited others, the more I began to believe in myself. I just remind myself of all the difficult things I've been able to solve over the years. This won't be the mountain I die on. I will definitely overcome it and continue. The more my work benefited others, the more I began to believe in myself. I just remind myself of all the difficult things I've been able to solve over the years. This won't be the mountain I die on. I will definitely overcome it and continue.

How to pass a programming interview - advice from a senior developer

Source: Free Code Camp Technical interviews are one of the most stressful parts of landing a tech job. You don't know what questions the interviewer will ask. You may have problems solving the problem proposed to you. You don't know how best to choose the correct answer. Many aspiring programmers drive themselves crazy trying to memorize every coding interview question. You and I both know that this approach is unsustainable. I recently caught up with my friend Michelle, a senior software engineer at Stitch Fix. She shared the qualities she looks for in developers she invites for interviews.Coffee break #77.  How I dealt with severe impostor syndrome.  How to pass a programming interview - advice from a senior developer - 2

Be curious

One of Michelle's most important pieces of advice to developer candidates is to be curious. Ask clarifying questions. Share your thoughts about the problem you are facing. Interviewers aren't just looking for the right solution. They want to understand how you think. The best way to show how you think is to ask questions. Let's say the interviewer asks you to check if a string contains any numbers. You should explain the question in your own words, for example: “So, I need to find a way to check whether a set of characters contains any numbers?” By saying this, you give the interviewers a chance to understand your logic. You also show them that you care about the problem. And don't be afraid to ask clarifying questions. Using the same example above, you can ask several questions:
  • “Do the numbers I'm looking for contain decimals?”
  • “Do I need to somehow sort the characters before checking them?”

Offer your solutions

One way to be more open to suggestions is to try to interest your interviewer. Put your logic into words and walk him through your problem-solving journey. We will use the same problem as above. Here are some ways to express your logic from the start:
  • “So I need to find a way to separate the characters from the numbers, right?”
  • “I'm thinking about creating an end-to-end character set enumeration.”
  • “I can do a programmatic way to iterate over characters, but let’s stick with numbers.”
The more information you provide, the more inclined your interlocutor will be to help.

Work together

The idea that a developer always works alone is a myth. You almost always use version control and project management tools that require collaboration. You must express your approach, ask important questions and keep the interviewer interested. This way you will come to a decision much faster. You will also show the company representative that you can effectively collaborate with other developers. Here are some ways to get your interviewer interested:
  • "Would a for loop be too simple/complicated for this solution?"
  • “How important is it to determine whether there are floats or not?”
  • "Which solution do you have in mind?"

Be prepared to just get through it.

Finally, Michelle advised developer candidates to be sure to walk through the problem at hand. One of the most common situations for candidates is when they get stuck. While this is understandable, no one wins in this situation. You can't show how incredible you are and the interviewer can't help you. To this Michelle said “just try.” Even if you write the wrong code, it's better than not writing it at all. Posting something on the board/code editor will generate discussion, an opportunity to share your thoughts, and a chance to find the right answer from the person who asked the problem. Do not be afraid to fail! It simply means you are one step closer to success. :) The phrase “Just do it” can mean many things. However, here are some examples of what it might look like:
  1. Write pseudocode on a whiteboard, paper, or code editor.
  2. Notice exactly where you are stuck in your logic.
  3. Verbally describe the solution you would like to come up with.

Use thinking

Programming interviews can be intimidating, and there's always the fear that you'll freeze up. Part of this fear stems from not knowing what questions await you. The great thing is that you no longer have to memorize coding questions and solutions. Instead, build a foundation of thinking using the key interview behaviors you've just read about.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION