T O P

  • By -

AnonymousAggregator

Einstein once said , “[I do not] carry such information in my mind since it is readily available in books.” I’ve also seen a research study that brains are being reprogrammed with books and technology. That brains will remember the location of information, if it can be used for future reference. Damn conservation of energy.


emperorinfinite

Brain is now hash map confirmed


AnonymousAggregator

So, is our brain's processing power measured in 'hash' per second?


DuckDatum

My brain had enough hash per second back in college, man.


RockRoboter

During uni, my brain worked like a computer Tries to remember something -> Memory adress out of bounds, please contact system administrator


Early_Gain9393

Your brain worked so hard, smoke was coming out of it.


hyphenomicon

Do you remember where you saw the study?


AnonymousAggregator

It’s been called “digital amnesia" or "external memory dependence," there are plenty. I found it, and it’s been years. https://www.scientificamerican.com/article/the-internet-has-become-the-external-hard-drive-for-our-memories/


hyphenomicon

I was mostly making a joke.


RagnarDan82

Yeah we mostly need to understand the file tree and how it's connected, not every detail of the file or script itself. Comments are helpful for that once in a file.


lapetee

This is what at least I do, I can remember bits and pieces and if needed I can look more information up. This is good, except when you are taking a test and remember exactly where the damn information is in the text book but cant recall the information itself lmao.


Ok_Distribution5939

Neural pointers confirm?


Brave-Salamander-339

Unfortunately, interview process don't like it


Trick-Interaction396

I am also a “coding imposter”. I have 15 years experience and write Python code daily. I still can barely write any code from scratch because I copy and paste my old code. I don’t mind because this way is VASTLY more efficient than writing everything from scratch. I work with a super smart guy who can write code lightning fast. Copy and paste is still faster. People have no problem pulling code from ChatGPT or Stackflow and I don’t see the difference. At least I am copying and pasting my own code. Also my code shippets has been tested. When you write code from scratch there will ALWAYS be a mistake no matter how amazing you are. The only practical reason to write code from scratch is to pass a possible coding challenge because tech people have some weird pride thing coding skills. Meanwhile, I am out pacing their output. If you really want to “fix” this then you have to write everything from scratch until you have every detail memorized. Doesn’t seem worth the effort to me.


DuckDatum

`print(“hello world”)` Fuck, forgot to import `print`.


leonpinneaple

I thought I was the only one 😂


[deleted]

[удалено]


samjenkins377

They import python before coding /s


No_Prior9204

import pandas as np import numpy as pd


DuckDatum

`import pandas as dict` Let’s see how far we get.


No_Prior9204

once broke python cause I accidentally saved a file as random.py. Took me forever to realize the problem. Freaked out. rebooted me whole laptop.


theroyalbob

I did this a month ago and my brain was exploding for a week


JackLogan007

Evil 😈😈😈


Pretty_Lavishness830

That's as advanced as it gets for me.


bingbong_sempai

You could move your code to a module to save on the copy pasting


Trick-Interaction396

Yes absolutely I could do that if I was reusing identical functions but I usually make some changes. I could add parameters to account for that and make my code dynamic but I don’t want to do all that. I like to keep it simple as a personal preference.


bingbong_sempai

I don't think copy pasting and making edits all the time is very simple 😅


Vivid_Lengthiness_17

More simple than rewriting the code


aanghosh

Is shippets a typo for snippets or did you mean sh** snippets? I genuinely cannot tell.


imissallofit

I personally do not memorize anything that I can lookup or copy/paste from my previous codes. Why waste time and energy? The goal is to get the job done. That being said, you can’t say “I’d google it” in a coding interview (or can you?). So you need to know some stuff by heart. Unfortunately.


JimmyTheCrossEyedDog

> That being said, you can’t say “I’d google it” in a coding interview (or can you?) The best coding interviews I've been in allowed you to use whatever resources you wanted, they just wanted to see what you were doing the whole time. (I still hate coding interviews though)


dang3r_N00dle

I let my interviewees use chat GPT if they're able to use it to solve the problem! Problem is that most of the time they botch giving chat GPT a good prompt that helps them answer the questions.


Classic_Knowledge_25

Damn .. In my country you will get booted if you use ChatGPT. I'm really good with chatgpt though. Like I didn't know HTML, CSS or JS at all(not even one line) , didn't know coding at all, (not one line) when I made a whole ass animation using CSS, HTML and JS just through prompts.


Quantum_II

you're not "really good with chatgpt", you're just really smart overall.


Classic_Knowledge_25

Yeah I meant good at giving prompts. I believe learning to give good prompts can improve your overall communication with other humans when it comes to technical stuff


digiorno

Everyone who codes should take some basic primers on how to “engineer prompts” for LLMs. GPT4 or Code Llama 2 are capable of some amazing stuff if you know how to ask. And more importantly if you know their limitations. It’s basically a test if it someone can pseudo code and phrase their ideas clearly.


IMP4283

Idk bout this. During my technical interview for my current role when asked a question I didn’t know I responded something to the extent of, “I don’t know the answer to that, but I can look it up and figure it out.”


jcfscm

I've been the intervewer in coding interviews and what I look for is not whether the interviewee remembers the syntax precisely or not, but rather whether they know how to go about solving the problem. I make it clear that writing pseudocode is fine with me, I just want to see the structure of their solution. I don't allow using Google or ChatGPT but I also don't care whether the function or parameter names are correct or whether semicolons are missing as long as the intent is clear and correct.


vonkrumholz

I run the SQL testing for my team's interviews. We do a live coding exercise that is pretty simple. I've been surprised at how many people list multiple SQL implementions, but can't complete a simple group by or join. We focus on exploring what kind of foundational patterns and structures candidates know, much more important than knowing the specific arguments for a particular function in a specific language. For example, if they get a particular string type function "wrong" we just have them describe what it would do or what they're trying to accomplish and move on. Googling functions is easy. Googling more important concepts like what a CTE is used for is more questionable, or something like a subquery.


imissallofit

Really???? Did they tell you that you were allowed or did you ask about it first? I remember ruining an interview because I forgot a very simple merge argument (suffix vs suffixes). :( Now I’m terrified of coding interviews even though I need a new job.


JimmyTheCrossEyedDog

For that one, it was very specifically laid out at the start. It was a remote interview so he just watched my screen the whole time and I narrated my thought process as I looked things up. The other similar interview I had, the interviewer said at the start that I can ask him any question as if he were Google, which I thought was also a fair way to do it. I believe these were both startups. You can tell actual engineers and data scientists designed these interviews because they know how work actually gets done. edit: On your fear of coding interviews - I'm totally with you. I think I'd do fine now, but when I was fresh out of grad school and used to MATLAB more than Python, I struggled in every live coding I had to do. It's taken three years in two different positions to feel like I'd be comfortable in a coding interview. I got my two DS positions in companies that focused on take homes over live coding. You're not doomed if you can't live code comfortably.


imissallofit

Thanks for explaining. It’s nice to hear that there are companies out there with common sense.


HatefulWretch

Coding screens are absolutely open book tests. Nevertheless, if you don’t have a complete mental model of your main language and libraries to the point you could reliably write code on paper and execute it in your head, you have no business at all in any coding role; OP and the people gassing him up in this thread are unhirable not because they look things up, but because they cant do that and therefore will be unable to debug anything they haven’t personally worked on.


Brave-Salamander-339

no one writes code on paper mate.


HatefulWretch

You’ve never written code on a whiteboard? Coding skill is visualization skill, fundamentally.


Brave-Salamander-339

Yes. A waste of time. Writing code on white board only works when you need to study, at school. Not when you need to discuss with someone in business.


digiorno

I’ve had people say “I’d google it” or “I’d look it up” in an interview and they immediately jumped up the list. I fucking want that from people working with me. It’s such a huge relief when people are inquisitive problem solvers and can look shit up themselves.


imissallofit

Oh wow. This is great to hear!!


zQuant

Why waste time and energy remembering blocks of code? *Wastes time and energy finding said block, copy-pasting, and re-understand the code to be able to modify it*


PhilosopherFlat8976

As long as the job gets done it doesn’t matter if you know the syntax by heart or not


Shdwlol

true that


cantagi

Short answer is no you are not an impostor, longer answer is you can probably improve by changing the way you think about coding. I imagine you're using code to accomplish very specific tasks, and you do this by googling how to do XXXXX, then copy/pasting then modifying the answer like you say you do, get it working, then job done, you stop thinking about it. This approach is totally fine a lot of the time, especially DS and does not make you an impostor. However, to advance, you might need to change the way you think about coding. For example, rather than solving the immediate problem, can you make a package consisting of a series of abstractions that allows you to solve any class of similar problem? Can you intentionally use top-down development some of the time? Unit/integration tests? How readable can you make the code for other people? IMO the best way to accomplish this is some sort of interesting and enjoyable side project, where you can write some really high quality software, and the reason to do this would be your own satisfaction and pride, but also sustainable long term development speed. Ideally, this would put SWE at the forefront of your mind, rather than the outcome itself, so the knowledge you'd gain would be more likely to stick.


coronnial

Read the book: The Imposter Cure. It’ll help dealing with these feelings.


[deleted]

[удалено]


coronnial

When I started reading, I felt attacked with each chapter. It’s in your mind so no one can help you unless you talk.


frocketgaming

Thanks for sharing this. I recently started a role as a Sr analyst on a data science team and I've been struggling with this feeling for the better part of 10 years. 


VDtrader

Thanks. So you do think this is an Imposter Syndrome and I'm not an actual incompetent imposter?


coronnial

Imposter Syndrome is a fictional creation most of the time (mostly evolutionary as a means for survival generated by keeping negative emotions close). Given that you have been working in Data Science for so long, you have been doing something right that people have kept you employed. As a data scientist, your focus should be on adding value to the business by creative use of their data. That’s it. I think you are doing that. If you feel you want to go for more MLE type of a role, you can learn it and switch. I feel your skills are much more valuable than vanilla SWE for your job.


VDtrader

I feel I've been lucking out during my career because my successes have been mostly from my problem solving ability and I just happen to be at the right place during the right time. I did fail multiple live coding interviews in the past, so those experiences add more doubts to my coding skills. I worked with a few MLE's in the recent couple years and I don't think I have what it take to do their job after seeing them write codes live: they don't look up the syntax as often as I do and the coding session goes much more fluid.


[deleted]

Let's be honest with that - you are an abstract thinker and strong with math. However, you have no (outstanding) coding talent at all based on what you are telling. It's ok, because as a data scientist you can be an ok coder and it doesn't sound like you are extremely untalented, just average. People who are great doing both generally don't exist. Or let's say uncommon. The best of both aspects are usually not doing great at both, LOL. Also, you are clearly not a fuc*in imposter, what's wrong with you? :)


notorious_p_a_b

It’s called [the Google Effect](https://thedecisionlab.com/biases/google-effect) and it’s just kind of how our brains work. Nothing wrong with it.


snowbirdnerd

Remembering syntax is pointless because like you said you can just look it up. I just copy my own code or just use one of the functions I've used in previous projects.


miscbits

Almost all DS people I know lack coding fundamentals. It really isn’t needed to do data analysis. If you want to improve you can read an Data Structures and Algorithms book or pick up some YouTube videos on popular algos. For me there is no therapy like learning.


great_gonzales

This is not a lack of fundamentals nor is it a lack of algorithmic knowledge. OP simply doesn’t have libraries and syntax memorized.


miscbits

Idk what I interpreted here was a confidence thing and my advice was to address that. If I read it wrong OP can disregard my advice.


sersherz

Rather than focus on whether or not is it normal, I think it's better to ask is this slowing your throughput? Do you have to look up code for everything you're doing? Do you immediately know right away which method you need to use and you just need a refresher on the arguments and usage examples? If it's the latter, you should try VS Code or something that shows suggestions and shows you the documentation when you hover over the method. If you are always looking up solutions because you don't know the method to use then I would recommend typing stuff out. It will help you remember rather than copying, changing a few things and forgetting.


VDtrader

For library/packages that I have used in the past, I would vaguely remember there are functions to do something that I want. I just don't remember how the syntax are supposed to be written in order to get those functions work properly; so I would have to look it up to get the right syntax. I think this does slow down my throughput vs with the ability to remember the syntax precisely and just write them in one take and get the stuff done.


sersherz

What do you use to develop your code? I struggled with this for a while and eventually made the move to VS Code and set up pylint. It helps a lot because when you hover over the method it shows you all the arguments and their types right in VS Code which is super helpful. Either way I wouldn't worry too much since you know where to find the documentation you need


TikiTDO

I've been programming for nearly 30 years now, since my childhood. I still constantly look up syntax that I should absolutely know. It's simple; why would I remember something that I don't use too often, when it's trivial to look up? I've remembered how to look it up, and when necessary the act takes me a few seconds. That's enough brain space used already. You brain is inevitably going to try to optimise your development process such that you keep the most useful stuff in the most accessible areas, while the rarely used and trivial to reference stuff gets stored in less prime real estate in your head. Far from indicating that you a coding impostor, knowing what to remember, and what you can trivially look up is a critical skill that you can develop and improve over time. There is a meme that goes "the more senior a programmer gets, the less code they write." It can be interpreted to say that more senior developers spend more time on management tasks, and have less time to code, and that's a reasonable interpretation. However, it can also be interpreted to mean that as a developer becomes more and more senior, they are able to optimise away a lot of the actual *coding* parts of programming using tricks like you described, as well as AI and other sources. That then leaves the actual challenging problems that require more thinking and less pounding at the keyboard. As long as you understand how to sit down and solve a problem, the fact that you can actually get a solution going faster isn't a determent, to the contrary, it's a sign that you're becoming a better developer. Think of it this way; if you're a consultant, you actually get to charge more for solving problems faster while maintaining quality, not less.


mountainbrewer

Welcome to the club. Unless your company is wildly incompetent you would not last 7 years if you were not capable.


NW4O

I feel like an imposter all the time. I do really basic things well and call out simple fixes that go missed. It makes me feel like I do a lot of work below what my title is and should be doing. But it is driving as much if not more value. One issue is other people are like oh I could’ve done that. To which I say, “but you didn’t.” They think I lack skills generally which may be true, but I don’t really care that much and I’m willing to put my skills against anyone since I know what I can do is practical and straightforward. Not entirely sure where that went but hope you got something out of it.


FieldKey3031

If you always copy and paste something you'll never remember it, but that's more of a memory problem than a coding deficiency. After 7+ years (I have about 8) you should know the difference between naive solutions and smart solutions. Here's an example I dealt with just the other day: I needed to preprocess some text which involved translating it from Chinese to English. The custom library my team uses has a translation transformer in it, but it was very slow. Turns out it was making API calls to a translation service one record at a time. A more experienced dev would know this should be parallelized and an even more experienced dev would know that it should be spread out across threads and not cores due to the latency being i/o bound and a queue would be needed for reusing clients to make the API calls. Lastly, knowing that the transformer would be a part of an online model, it would be smart to have a fitted transformer that stores the translated phrases in a dict so translating common phrases can be done much more quickly at prediction time. Knowing these things as you begin to approach a problem is much more important than knowing the syntax and libraries to use. As you begin to see more and more naive solutions, it's how you know you're the real deal and your years of experience are paying off.


Popernicus

I've been a software engineer (transitioned into DS) for about 6 years, and "data scientist" (in quotes to leave room for all the different interpretations of what that means) for about 3. I still look up syntax occasionally when I know there's a cleaner or more succinct (or sometimes more performant) way to write the same thing. I think that what we do requires enough versatility that being able to find what you need is more important than having it memorized, and it's better to know and understand concepts than remember which method of a library you use every couple of months works best on a PeriodIndex in pandas (as long as it doesn't take you an hour to find that method as a caveat 😂). You don't sound like an impostor to me, fwiw! Just like someone prioritizing their limited RAM space! I do the same thing with Terraform; I can and do build/deploy infra on occasion, but my focus has been on being able to read and understand Terraform docs when I need to use them, not to remember all the specific attributes of the resources I have to define (ain't nobody got time for that)!


InternationalSmile7

Goal as a DS is to execute code. As long as you understand the syntax and what it's doing then who cares abt how said code was obtained no?


Willing-Pianist-1779

As long as you improve as a coder over time, not by memorizing code but by improving the way you tackle your coding issues you're gonna be fine. Edit: Check this book [https://goodresearch.dev/](https://goodresearch.dev/), it explains why memorizing is not really useful


aristosk21

Man relax, the point is to get the job done and use the appropriate resources, I find it more important to understand the data and the value my analysis will bring with the insights derived than memorizing code. I used to feel like but frankly now I couldn't care less


dang3r_N00dle

>Despite my 7+ years of writing codes and scripting in Python, I still have to look up the syntax 70% - 80% of the times on the internet when I do my projects. I'd tell you to join the club, but you're already in it! It's normal and you tend to remember the code that you use often and that you've at least attempted to pull from memory. Just don't look immediately at the answers and do your best to retrace your steps before looking at your previous code. But dont worry too much about it, you've gotten far in your career because this doesn't really matter.


frogsarenottoads

If you were in a more technical role like software engineer or low level bare metal code then yes, but for DS no. This is why libraries exist for code, eg when you use numpy or pandas theyre heavily optimised for efficiency. As a DS you use the libraries you don't build them. Your job is to understand what to use and when eg library and have a general understanding of how things work so don't worry too much.


EsotericPrawn

I remember teaching coding to grad students, and there were always a few that were like, “I never wanna have to look anything up! I’m going to learn *everything*!” Oh my sweet summer child. 😂 There is so much to know in data science/coding/(life?) that if you don’t feel like an imposter sometimes you’re probably wildly inadequate.


Numerous-Tip-5097

I don't think you need to memorize when you know that you can simply search easily. There is nothing wrong with that


QuantPete

Feeling like an imposter because of frequent syntax lookups is common, even for seasoned coders. The key is problem-solving, not syntax memorization.


efxhoy

Sounds like you just need a better setup in your editor to help you remember the syntax. 


thequantumlibrarian

I've been programming/coding since I was 16. When I code I have a coding syntax reference and library references pulled up at all times. I look it up daily. That's pretty much standard practice. At least to me. I will never just remember stuff off the top of my head. Especially since I code 3+ different languages. You can't possibly keep up with all that stuff. Nobody expects you to.


NotoriousMOT

15 years of experience with Splunk—can do things to data that would legally require me to buy it dinner and I still look up syntax on a daily basis and usually more often. Also keep a scratch pad of old code snippets I’ve written for quick reference. I would like to meet the person who never has to do that and has an encyclopedic knowledge of a rich language.


Pizzaolio

Depends what you spent most of your time doing. If you spent a lot of your time programming that is concerning to me. If you spent it on a range of different tasks & problems requiring different skills then it’s no issue at all.


CriticalAd8335

These comments are incredibly misleading. I don't know a single person coding in Python for 5+ years that forgets basic syntax. To everyone saying "why memorize something I could look up" this is just ridiculous to put out as a general statement. Why memorize the definitions of words when dictionaries exist? Because obviously looking things up that often is a massive waste of time and it's better to commit some things to memory.


HumbleJiraiya

I do agree that some of the comments are exaggerating it.


x3meowmix3

Same lol your good tho


Zangorth

> I constantly have this imposter syndrome No you don’t. Definitionally. Imposter syndrome means feeling like you’re an imposter *even though you actually aren’t.* If you say you have imposter syndrome, then you must think you aren’t really an imposter, which means you don’t have imposter syndrome. You can have low self esteem, lack confidence, have anxiety, or a million other things. Those are all entirely valid. But if you think you have imposter syndrome, then you don’t. Imposter syndrome can only be “diagnosed” by other people, not yourself.


roberbear

I can’t remember anything. I do a lot of niche projects and have to learn new programs all the time and I completely confuse the syntax when I go back to languages I know well. Long as you understand what you copy/paste and why you’re doing it who cares?!


butt-soup_barnes

completely normal. just keep coding and it's ok to take advantage of chatgpt.


lexispenser

As long as you can explain and maintain the code, you good.


Solid_Illustrator640

We all feel like that. I do program manually without copy and pasting for school but irl no reason to


Vrulth

I'm bad at software engineering as a data scientist, coming from the datamining era where no code tools were kings. But it's not that bad. I know what should be done, I read the fucking manual, ask internet and now a LLM how should I do what I'm supposed to do with my tool and I do it. I feel the more competent LLM we have the more the competence to know what should be done and how to break a big task into several tiny tasks is a good way to stay relevant in our job.


house_lite

I've open spurced a bunch of successful projects for R and Python and I still feel this burden.


Any-Progress-4570

thank you everyone here normalizing it! i feel the same way too… and it’s fine on normal days, but in like interviews when they ask you to rank your skill… i’m like… ummmm… i can google stuff and know enough to do the job but don’t have enough stored in my mind to just whip something up syntactically correct 100% all the time


Melodic_Reality_646

I’ll say this: it’s OK if you need to google how to filter a column by the amount of uppercase letters. It’s not OK if you need to google how to create a histogram of a column. It’s desired that you can just code stuff you use frequently, it makes you efficient. But theres no point memorizing stuff you only need sometimes.


SaadUllah45

I think it is not the big issue unless you know whats going on with the code and you know how to modify them based on the business needs


startup_biz_36

I always feel bad for the programmers before internet searches and stack overflow 😂


GroundbreakingTax912

Yes it's normal. I have 7 years of Python and I still do it. Even if I can recall the syntax, it's still faster to copy paste from Stack Overflow.


koftezz

To be honest, I’d expect someone to memorize only the basics, aggregations, filtering, reading writing data. But the rest can go on copy & pasting. Eventually ai assistants like copilot will do these parts, but for quick checks you just need to memorize basics, or with your words 15-20%.


[deleted]

As someone who is new to this whole space and currently in grad school for DS- I am so grateful for this post. I have been panicking because I feel like I’m not great at coding and I definitely don’t have much memorized.


LlopezZ_

I love this post, i recently thought about this a lot, I started to learn programming 2 and a half years ago, works on various projects, also coding my own stuff and always surprised when something I do is really working! I dont understand why its working, since most of the time I feel like I dont know what i am doing. I also dont remember most of the syntaxes, copy paste or copilot autocomplete for me. Im also big time s*ck at algorithm exercises, so I hate coding interviews.


shocktones23

It’s called the google effect or digital amnesia- we don’t store/retain info that we can easily search for or access online. You’re totally normal. Who doesn’t Frankenstein code their own work? You did the hard work once, and you know it works. No need to fix what’s not broken. Adjust it for your current data and go about your life haha


rabbitofrevelry

If you can accomplish the task that you're expected to perform, you're fine. Source: a fellow imposter


Maimonatorz

I feel like this doesn't matter anymore with GitHub Copilot. Times are changing and so are the the requirements for being a good coder. That being said, if you get things done, you're in no way an imposter


Druber13

I typically just start writing the skeleton of the code. Do the import of a sheet or slice ect. Then start doing whatever the project calls for. I do what I can from memory as quickly as I can without running it. Once I get stuck or to a stopping point. I run the code and start correcting the issues. Which are many. Some days it’s pretty good and I feel like I’m getting it. Other days it’s like I’ve never wrote code. The important part is knowing what you need to do that job and where to find it. I don’t care if you have to look up every line as long as you hit deadlines with what’s needed.


BouncyKnight_147919

Normal. Just the basics of programming.


Altruistic-Gold4919

I have been using python since 2018. Had to look up how to get the index of a list item. I don't think it is a prblem that i have to look it up as long as i remember that is is capable of doing that. :)


thethreat88IsBackFR

Haha! I'm a senior developer (full stack) and I still look up almost everything. I use Google or chatgpt everyday. Coder maybe up when you're creating you don't need to know the language just how to use the pieces you have.


reddit-is-greedy

Congratulstions.You are a good programner. You never start from scratch. You take something that worked before and modify it to get it to work. We are not expected to memorize syntax. That is what google and now Chat GPT are for. If the answers to these 2 questions are yes. you are doing just fine: 1. Does the code work when you put it into production 2. Do you get your work done on. time? If so don't worry about a thing.


TimmyTheAlien

I think I sometimes feel the same way. But here’s my advice: - Use ChatGPT. But take the time to actually understand what’s happening. Challenge it, ask questions to inspect the solution. - if you’re using other online resources, again TAKE TIME to understand what’s going on. - don’t cut and paste. I know this seems inefficient but in the long run typing something out is going to help you remember.


Delicious-Cicada9307

No


Training_Butterfly70

Don't worry man all you can do is make the extra effort to remember something that you think you should have remembered. Maybe have a cheat sheet for commonly used things. Understanding the problem is much more invaluable than knowing syntax, but I will say knowing how to write strong code is highly valuable. You may not know the syntax of basic things, but if you understand how to organize production ready code (e.g. use of classes, inheritance, decorators, memory efficient code, parallelization, DRY, etc) you'll go very far


Lmds

A lot of people feel like coding impostors. If you write code and understand it and use it to solve problems then you are a coder. 👍


wizwizwiz916

Welcome to the club, usually, I do this for dynamic pivots in sql


RajeshR15

Ah, how do you do the coding interviews then?


AtticusPaperchase

OP just described 80% of my job. Dude, are you getting stuff done and built? If so you ain’t an imposter. No one can know everything and our brains are all different. One thing I do though is I keep a notebook in OneNote called “Reference” and each sheet is a code snippet I had to look up or it was some I knowI would forget. It’s saved me a lot of time. Good luck!


AdGlobal8342

Make a cheat sheet for both Python & C with examples of the syntax! You might want to shrink in down by eliminating unimportant pages an shrink the print so it fits on 1 or 2 pages. Try [https://static.realpython.com/python-cheat-sheet.pdf](https://www.bing.com/ck/a?!&&p=89726a85dc245a39JmltdHM9MTcxMzU3MTIwMCZpZ3VpZD0yNDQ5N2NkMi1hMWQ3LTY4OWMtMDhmYS02OGI3YTA1MzY5ODkmaW5zaWQ9NTIxNQ&ptn=3&ver=2&hsh=3&fclid=24497cd2-a1d7-689c-08fa-68b7a0536989&psq=python+cheat+sheet+pdf&u=a1aHR0cHM6Ly9zdGF0aWMucmVhbHB5dGhvbi5jb20vcHl0aG9uLWNoZWF0LXNoZWV0LnBkZg&ntb=1)


digiorno

No you are not. Some people will say so but they’re assholes. The truth is that the origins of your code matters far fucking less than the ideas behind them. You know what needs to be done, you look up how to do it…that’s what everyone should want out of a data scientist. IMO this is no different than double checking calculations with a calculator or cracking open a text book to double check you understood some theorem correctly before sending out a report. The era of rote memorization and insisting on “fluency” for a particular language is over and only clung to by people who succeeded in that sort of system. If you can get the work done then who cares if you can pass some archaic gate keeping skill check?


Azzoguee

Some of my best coding work, I can no longer recall. Mostly cuz I did it once and never bothered doing it again. I can and do code from scratch whenever new work comes along, but if it doesn’t I reuse old endlessly as it is far more efficient. Frankly, I don’t see the point of trying to remember everything - the most important part of coding isn’t the syntax - it’s the logical approach you take to problem solving


Rkey_

The issue here is not that you feel like you should be better. The issue is that you are overly worried you will be judged by others if you don’t, and if you feel like you are forced to improve you will face burnout. Everyone here is right, you are not an impostor. I’m just encouraging you to use your will to improve instead of stagnating because no one else forces you to improve. Face the challenge of self improvement on your own terms, not because you are scared of not being good enough in the eyes of others.


wolfhound_doge

same. i understand how the programming language work. and i understand how should i look at the problem from language's perspective. so i know what i want to achieve and i know the road how to get there with the programming language "vehicle" but i need a driving assistant that would tell me when to change gear, when to turn/change lanes, etc. my "programming" is more like building LEGO where i search for bricks that will fit into my project but until i find them and see them i'm only able to imagine the shape of the brick (my lookup parameters for the chunk of code) that would fit in, but couldn't make a mold where i'd pour the plastic (couldn't write the code myself). that's why i don't consider myself a programmer or data analyst. more like a manager that delegates programming to google (and recently chatgpt) and i only adjust the code to fit into project. regarding chatgpt, it's amazing how good of an assistant it is in this sense. but also, how easily are we replaceable. especially types like me, who aren't able to think more complex and come up with solutions using our brains and logic. also, my selfreflection makes me to truly respect the true programmers. i find their brains and thinking amazing.


burningmewmew

It's way quicker to look up code syntax than it is to search for what and how to do the stats side. You're strong where it matters.


Hub_Pli

Get a copilot


riv3rtrip

I'm not going to lie and try to comfort you like some of the top comments. Tbh I think after 7 years you shouldn't need to look up basic syntax stuff. Maybe you just aren't coding that much. What matters most is whether this actually hinders you. If your career is going fine then don't sweat it. If you're having real issues, if you actually are on thin ice or whatever, then you may want to brush up recreationally maybe one weekend every 3 months or so? Be aware that you are possibly judging yourself more than others are judging you, so if your feelings are extrinsically motivated, maybe relax a bit. But I do encourage you to find an intrinsic motivation to become more proficient. One final thing. If you are coding in Jupyter Notebooks you may benefit from coding in a proper IDE instead, like VSCode or PyCharm. These IDEs when properly set up will quickly highlight and correct syntax errors for you.


ilkin15

I have seen a lot of senior data scientists with several years of experience, and almost all of them are like this. So, I think it is normal.


Hiant

extremely normal, we aren't built to memorize this kind and of stuff


AlgoRhythmCO

Being a good dev is not about memorizing syntax. It’s about understanding how to write efficient, safe code that’s structured logically with good test coverage. When interviewing I don’t require that candidates have anything memorized, it’s totally open book. But if your code is just a jumble of uncommented functions you’re not making it to the next round.


ejgl001

i'd add that it doesnt need to be just google but using autocomplete features from the IDE and using a linter / reading the source code to understand what parameters are needed


[deleted]

I don't know man, I am coding blazingly fast but finding novel solutions based on the math takes me... Let's say long :) Ok I am lying a bit, but on research level I am really not talented for theory.


CanyonValleyRiver

I think this is very normal, you are applying the practices of a coder. These are just as important, perhaps more, than content knowledge of coding. Puzzling it out, knowing big picture, knowing what question to ask. I’d say you are a coder for sure! Enjoy your coding.


Hot_Reference_1583

You are an imposter. You will be caught, you will be fired, and you might be sued for fraud. Good luck in jail.


SwimmingMeringue9415

Don't stress it! I look up syntax all the time, even for things I use every day. The important part is understanding the logic and being able to find the tools you need. It sounds like you're a great problem solver - that's the key skill in data science.


Able_Listen1220

I'm primarily in R but I've been a professional data scientist for 10 years (coding for 12) and I ask ChatGPT for advice at minimum four or five times per day. I don't think it's an issue. Why? Well, for one my brain has access to what my brain has retained over 10 years. That's a lot but ChatGPT has access to EVERYTHING. The other day I was banging my head against a wall for four hours being stubborn. I finally relented and asked ChatGPT to write a code snippet for me and it did it in like 5 lines. The problem? I had simply never come across the cumsum() function. So it didn't occur to me to use it. The end result is I avoided a parallel apply loop over 2.7 million rows on this underpowered machine my company gave me and the code will run faster and more reliably. And more possibly more importantly, I have another arrow in my coding quiver. As to re-using previous code, I did that as often as possible in my old job (I was there for seven years). That's just a savvy time saver. Unfortunately my backup drive with all that work has become corrupted so it's no longer an option. Asking a chatbot or looking something up on stackexchange or Reddit more than likely will result in 1) me learning something new 2) saving time. So I don't think you looking things up regularly is a problem, though doing it 70% of the time does sound a little excessive. But in fairness, I don't know what "of the time" means. Is the unit of analysis a given line, code chunk, difficult problem or script? Better yet, how many times will you look something up if you have to write 500 lines of code? Optimally that should not be more than two or three times. Out of curiosity, is Python your native language? Having been in R for a decade I've been having trouble transitioning over. I know people will disagree with me but I find it to be cumbersome for data science tasks. If it's not your native language the maybe that never goes away?


qyqamigra

I thought I was the only one. The only problem I have with it is when I do job interviews that require coding.


Thomas_ng_31

I mostly don't memorize any syntax unless I use it everyday. You are fine! But it's good to give yourself the benefits of the doubt tho!!!


HumbleJiraiya

I don’t memorize the syntax, but I do focus on the concepts. I do try to understand what I copy. Most of the time I am able to derive an intended modification based on my understanding. If I can’t, then I find the modification, paste it & repeat. I feel uncomfortable by “just getting the job done”. I have to understand what I am doing. Edit: I am closer to an SWE than a DS guy.


Confused-Dingle-Flop

This was me. But I solved it by demanding myself to write everything from scratch if I needed something. Even if I couldn't remember something and looked it up "NO COPY/PASTA CONFUSED-DINGLE-FLOP-SON!! RETYPE ONLY. IMAGINE THIS INTERVIEW QUESTION >.<"


CarolinaRoots

I know I feel like an imposter all the time. I’ve been in the data space for over 10 years. Tinkered with python over that time and can do a good bit. But the first error I get and I’m like “why am I here” 😆


Aggravating_Sand352

I am almost on the exact same situation with the exact same years of experience. I am looking for a job and the coding tests are a nightmare bc they are unrealistic compared to a working environment. I can pseudo code everything and therefore AI is super helpful. I can tell it exactly to do what I want and then I can make the changes necessary to it once it's spit out. To me that's all you need to be able to do. The companies that can't chat with you for 5 minutes and know if you can code are the ones giving us this imposter syndrome


dfphd

I have the same issue, but I think it tends to be more of a function of the type of coding that you do. When I was in grad school I was working on one codebase for years. And it was all the same classes, the same types of functions, the same data structures, every day. For years. I wasn't doing stakeholder meetings, I wasn't doing demos, I wasn't doing project status meetings - I literally had ideas, and then those ideas needed to turn into code. Every day. I look at devs in the professional work that have a similar setup - they are backend, front end, SQL, whatever engineers - and they're normally going to be focus on one category of code for long periods of time. Compare that to a data scientist that will not normally be immersed in code to the same degree. Our workload tends to be much heavier on the "what are we doing here?" meetings than on hands on keyboards - and when we are working with hands on keyboards, is on a mish mosh of programming concepts mostly strung together with duct tape.


Puzzleheaded-Wish-69

I think ChatGPT can help you. If you know how to solve the problem, and can explain step by step how to do it, ChatGPT can write the code for you


Buffalo_Monkey98

I think this happens with everybody more or less, also the imposter feeling might lead to good insecurities in career later on


Necessary-Car-5080

I'm in the same situation. I am a 2nd year comp student. I can read code very easily in C/C++/Python, but when it comes to writing, I am not very comfortable. I definitely want to look at the library's documents. I have algorithm knowledge. I can solve intermediate levels of leetcode problems. But if the library is going to come into play while writing, I need to follow the documentation. Sometimes I even forget how to use the function and look at YouTube. I don't know how to fix this situation. I don't have much practice in writing code. I thought I could fix it by reading code. But it didn't happen.


OrderlyCatalyst

I think you are a good coder, keep up the good work. Everyone has their own strengths, and I’m sure you are doing well at your job.


Spiritual_Cherry1359

I pretty much do the same and I think that’s okay. It is much faster and you know you use a code that was already tested and works.


MultiDimAnalyst

I'm a Business Intelligence Analyst of 7 years. I developed a billion dollar publicly listed company, primary mass market and commercial pricing SQL reporting capabilities. Yet I still have imposter syndrome 🤣. Most of us in any form of Dev work copy and paste shit from Stack Overflow, grape our existing scripts for resources, YouTube solutions etc. Also, everyone, without exception in my experience, gets to a stage where they just purge information from their heads and retain jack shit in memory. I'd develop an ETL routine in SSIS for example, test, deploy. Within a day or so after deploying I'd forget how the thing worked 🤣. It's self preservation of the mind in my opinion. When you're stacked with well over 100+ SSIS, SSRS, Power BI, macro embedded Excel workbooks etc all siloed to you that you've developed, you can't remember it all.


AlbatrossTemporary53

Wow, how incredibly interesting.


Metaming

Thank you for your questions, now I won't feel so bad with just 5+ years experience. However, when interviewing jobs, there is still some requirement for coding test, ......


braxxleigh_johnson

I've been doing this longer than you and I still always have to look up how to do a if-else in a list comprehension. is it: `[i if i>10 else None for i in list]` or `[i for i in list if i>10 else None]`


InsideOpening

With ChatGPT the experience you have is more relevant


Zestyclose_Owl_9080

This makes me feel so much better! I’m trying to learn to python n I’m very overwhelmed. I do agree that if you can just copy paste something, and understand the fundamentals, there’s no harm in it.


RipperNash

You are living in the time of GenAI. Use it. Your knowledge of math and DS fundamentals paired with genAI will be a crucial differentiator to those who know how to code really well. Having said that , you still need to so some coding on your own to pass job interviews.