I program for over 20 years. I just closed some tabs from yesterday:

"how to create directory in python"
"concat lists python"
"load 2 models tensorflow"
"how set pythonpath"

and some others.

And yes. I have a masters degree in informatics.

You don't need to learn things that you rarely need & are just 1 duckduckgo away by heart. Knowing that they exist and what to search for is sufficient.

Important are the thing you cannot search. Concentrate on those.

@Drezil @mwt A professor of mine said: "You're becoming engineers. That does not mean you need to know everything in your profession. It means you should know the theory and concepts. This will tell you what to Google if you don't know stuff by heart."

@Drezil I've explained this in the past using DnD terms. Specifically, Intellect and Wisdom. Intellect is the wealth of knowledge, while Wisdom is the skills to apply such knowledge.

Intellect can be augmented by massive libraries like the internet, but you can't do anything creative with that knowledge without Wisdom.

Learning to combine the lessons of multiple different books is the only skill you really need in this day & age. The lessons themselves can often remain in the books.

@Drezil Something comforting my father once explained to me: "Intelligent people aren't people who know everything, but people who can research and find out what they need to know now.".

@Drezil also... the more languages you know the less easy it will be to remember how each does things. Which language has len() and which has count() again? In which language do you call a match method on the regex vs the string you're trying to match? Which one calls that method match, find, search, scan? etc.

first was "os.makedirs(..)", second was "a + b", third was "you have to do x to not use the global graph/session", forth was something i copy/pasted and would have to look up again, now ;)

@Drezil I guess a+b work too, lol. python. os.makedirs I also knew about, because another neat side-feature of what it's doing (essentially "mkdir -p") means it doesn't throw an exception when creating a folder that already exists.

@Drezil In my old workplace they had stackoverflow posters saying its okay to not know

@Drezil (or, preferably, have good offline docs that you can search, that way you aren't reliant on an internet connection, or any (proprietary) service provider)

@Drezil (well, not "preferably" i guess, but the point is, it's nice if you don't need the internet to look everything up, but you don't have to replace it with offline docs either)

@grainloom for my -Application at work the jenkins autogenerates current haddock-documentation including all dependencies (in the version they are used(!) in the projcet) and archives them as HTML-Pages (atm that is ~400mb html including colored/hyperlinked sourcecode).

Not complicated, just complicated to set up once. Online it is for example:

We tried similar with javadoc .. but failed .. ;)

@grainloom Also try pressing "s" for search on ;)
This is a js-offline-search that gets generated as well.. and i love it :)

@Drezil @gcupc yesterday I had tabs open for memcpy(), Rust's Cell::get() and other trivialities that I know I need, but can't ever remember the details.

@federicomena @gcupc i have the regex-cheat-sheet printed & hanging on my wall in my old room, my pc room & at work for years:

Also i now have a sed-cheat-sheet .. so i can do more magic in vim :)

@Drezil @gcupc I should totally print out a regex cheat sheet... 🤔

I never read so much doc since I started to write Rust code!
@Drezil @gcupc

@Cyb3rDad @Drezil @gcupc me too. It's almost like good docs are actually a pleasure to read 😝

@Drezil i switch between Python, Javascript, and PHP (and whatever language I'm tooling around with on my own time) and routinely forget shit like whether or not the one I'm working in uses parentheses with print or how to find the length of a string. And yeah, I've been coding since my gifted & talented teacher taught a little unit to us as 3rd graders in 1991

@bulkington oh yes .. i always forget the ; in many languages ..

And don't talk about PHP .. was it array_sort? sort(array)? Array::sort(...)? sortArray(...)?
mysql_real_escape_string()? ;)

I'm glad im stopped when PHP5 was cool... ;)

@Drezil I was a PHP developer for 8 years. I worked on other things since 2015 and recently I went back to do some and I fucking forgot that variables start with $. I'm kind of a goldfish.

@capefeather i don't want to work at a company where i cannot be human but are just a property there to create more value for people i don't know..

But hey! You surely know how to program fizzbuzz! ;)

@Drezil i dont put much faith in degrees these days tbh.

in some ways they're dangerous because they think they know stuff because they have the paper, but more often than not they can answer the same zero questions the googler does but are concerning because people want to trust they know "something."

@icedquinn I know what you mean.
Also a reason my boss asks me to join job interviews if they touch the ML-stuff we do here..

Some people have a master and are worse off than others with not even a bachelor.

The newest member has studied Anglistic/Linguistic as Bachelor and she now does a Computerlinguistic Master and is way more efficient (i.e. picking up new stuff; googling; etc.) then other candidates we had with a "proper" master in informatics.

@icedquinn despite that she still suffers from downplaying her work.. as if she was raised believing that she can't compete anyway...

i try to change that ;)

@Drezil big mood. I have a PhD in Computer Science and I search similar things regularly. Even basic syntax if I haven't used a given language in a couple of weeks, I'll double-check even if I'm pretty sure.

@Drezil the stuff you use a lot sticks with you even decades later.

@RandomDamage Not really ...
I wrote PHP several years .. would be hard now. Same for python, java, C, C++, ASM, ..

I'm only fast in the things i basically use daily. If i don't use things for more than a few months i feel like i have to look up everything :)

@Drezil it comes back really fast if you used it enough for fluency, even if it isn't top of mind any given day.


Back when Windows 3.1 was still the norm, and the search engine wars was yet to even arrive on the horizon, I had a boss who offered the following sage wisdom:

"Intelligence isn't what you know, it's whether you can get the answer."

@Drezil I'm four years into a CS phd and I regularly look up how to open a file

I can never remember

@halcy @Drezil you just double click the folder, goof ball. even my grandma is a pro at opening files! doc, pdf, xlsx, jpeg, my grandma is a friggin champion

@sum how do you click on a remote server? There is no mouse ;)

@Drezil If you look into the lab of any old engineer you will find books, manuals, datasheets, application notes. Piles upon piles of literature.

We have always been looking up how to do things. The internet just made looking them up easier.

@Drezil Me every time I touch python (I use it once every blue moon so I keep forgetting things)

@Drezil why would you memorize any of these things that don't need to be memorized?

@progo because many people have the feeling that this is what you need to do.. That this is what "learning to program" means.

@Drezil it is really great that you used DDG as an example for fast research! Thanks!

@Drezil I collected a ton of tweets like this over on birdsite. I show them to students to make it crystal clear that "not knowing all the stuff" is default operating mode in programming.

@Drezil I actually have a whole collection of documents with those things at work. Whenever I find an answer online, I implement it, add extensive comments and save the code snippet. This way, I can look it up and have not only the answer, but also some code at hand. :)

@Drezil This is why I cringe every time I read that a university teaches a tech-specific course. I know it's hip to do "applied" things and there's pressure to do it, but it's the wrong way to go. Understanding concepts is much more important than nitty-gritty details. The later are useless without the former.

@murks In germany we have "universities" and "fachhochschulen" (aka. "university of applied sciences").
The former usually does the theoretical stuff and the latter the applied stuff.
In many universities you use linux as default system in IT because you can tinker at the lowest levels. FH mostly have windows/iOS and you have courses like "how to use photoshop". In university you have courses "how to write your own photoshop" ;)

@murks The most tech-specific i did was "GPU-Programming" where it was basically just CUDA with 1 Exercise to get OpenCL running.

@murks And beware: BOTH will get a Bachelor/Master of Science.

@Drezil It's the same here in Austria, but the two forms have to compete for students and funding. The result is that they get more similar to each other. FHs want to be able to produce PhDs, universities get more applied.

@Drezil I would also have to look up those. Except concat of lists, because thats just l1 + l2, but that would raise the question whether I should really use python lists or some other type instead.
Melde dich an, um an der Konversation teilzuhaben

Mastodon ist ein soziales Netzwerk. Es basiert auf offenen Web-Protokollen und freier, quelloffener Software. Es ist dezentral (so wie E-Mail!).