I am terrible at explaining my code, despite knowing how & why it works.

Remembering the day. I thought yesterday was tuesday.

Yesterday was Tuesday.

I'm terrible at structuring stuff that are not code. I fail to structure my workflow, my day to day task (like folding clothes, dishes, etc...).

I'm terrible at remembering important date (heck, I even forgot my birthday almost each year).

But strangely, I'm not that bad I structuring software.

So much this. I have try countless times to be as perfectionist on this side of my life as I am with code but I just can't do it 🙃

Remembering the order of the months. I basically always start at 1 and then sing-song my way up on my fingers. I flip March and May frequently. No idea how many days are in each month. I have tried to learn and put in some effort but just can't make it fit my brain properly.

Normally pretty decent at numbers and related activities. It's really weird and kind of annoying.

My son has the same issue! You aren’t alone!❤️😁

Any time someone says "monad" my brain instantly stops working.

I agree. Currying, partials, category theory. Why would I want any of this madness?

Actually I'm quite 'partial' to a 'curry' 😉 and I can squiggle in lambda calculus all day.

Maths, definitely. That was the reason I put off my developing dreams when I was young. Maybe then it was really important (I am talking about 20 years ago, when I was 10).
But today I've realized Maths is really not that complicated or deep into Front-End so I decided to come back :D

Do you mean Mathbox.js ;-)

The article series of MathBox.js are outstanding.

I knew the theory of imaginary numbers, but It was amazing to look into the dynamic graphics and see them rotating.

I wish I would have such tools in the high school.

I wish i would have time to use MathBox.js or threejs to explore datasets.

If one map properly the datasets to the three dimensions, I almost sure that we can find many more relationships instantaneously, because the brain is prepared to work with spacial structure and note those relationships in real time.

You know? The cyberspace was born with the science fiction writer William Gibson.

The web is still very limited to the cyberspace described in Gibson's books. In the books the characters take a Virtual Reality set and connect to 3D words, the servers, the data, the avatars, ... everything was interacting in 3D.

I guess that in the years to come, the web will reach the Gibson dreams. And math would be very important for that.

I appreciate your passion about Maths... I wish I could share it.

Exact same here 🤓

That's very conforming. Hehe.

I hear you! I'm great at problem solving, but don't ask me to split the cheque.

Relational databases. I honestly go for document and key-value stores often not because I think RDBs are ill suited for the job but because I don't want to deal with them.

I too have finally reached the same conclusion! Over the next few days, I'll be moving on from MySQL to MongoDB.

aaaaah, you break my heart :P

It's not lack of will, it's lack of competence :p

What concepts you find hard? Maybe I can help.

In the meantime I think you can start here:

I'm not saying relational DBs are super easy, but I think they are really important to know, even if you end up not using them :D

Same! I'm awful at SQL and RDBs are the bane of my existence

I'm good with CSS, and I frequently find myself helping others to fix broken CSS, but I can't explain how my solutions work. My explanation is usually "Um... It's just like this so that this go here and then like that so it that that other rule applies... Do you get it?"

I feel you 😭

Sitting down with someone to look at the code or debug. If I'm not prepared and have not looked at the code for at least a few minutes by myself beforehand, I have no idea what is going on.

That's a great soil to grow a magnificent impostor syndrome!

I'd say it's the same with everyone?

Don't you have that coworker that takes a glance at your code and starts asking why you went that way with that function instead of this way that everyone is doing now? The one who never stumbles in describing their own code and always has a valid reason for any decision and if it turns out there is a better way that you know about they take that and understands it right away instead of the week it took you? Then they quickly finds the pros and cons and makes some improvements it will take you an hour to really understand? I thought that person had a clone in every company. 😉

I'm terribly sorry for being one representative of a person you described. Being pretty close to it anyway.

But for compensation of my kind, here are some things I'm terrible at:

• Socializing: pick a random non-programming subject and we're likely not to have a long talk - the closer to small talk, the worse it gets. Additionally I don't drink alcohol and rather avoid any place where people drink. I also have very few stories to tell and as such I'm no good at telling them. I seem to lack the ability (or need?) to contact people.
• Answering: I'll stare to nothingness for a good few seconds if somebody asks a question suddenly that has nothing to do with the current subject I'm dealing with. All too often my brains come up with a proper answer once the person who asked the question has left home.
• Sharing my knowledge: I grew up very much in isolation as a developer and I learned a whole lot of things the hard way and didn't have names for them. We talk about 20 years of DIY. I've only known the word "refactor" for about 6 years now. The lack of having any kind of mentor means that I have no model for how to teach programming that would come naturally off me.

Ok, I need to be very clear about this, you do NOT need to apologize for being 'that guy'. Yes, you might be scary to deal with for those of us dealing with impostor syndrome and think more about development than coding, but that's our shit to deal with. You are, from the sound of it, an awesome coder and you should be proud of it.

Sure, socializing is good but while I'm good at blending in I kinda hate small talk. I rather enjoy people like you who either talk about something that is actually interesting for you or not much at all.

I hope that you get the chance to talk to someone who is not afraid to talk straight to you and let you know what parts of your communication needs some polish when it comes to other peoples code, because from the sound of it you have a lot of knowledge that others could grow from if they got to absorb it.

Again, do not feel like you should be sorry for being who you are, you probably rule!

Outside of tech? Definitely cooking. I know how to make a lot of different food, but I don't enjoy it whatsoever!

In tech, probably not Git committing as little and often as I should, rather committing large chunks at a time!

In tech? SQL. It doesn't make any sense to me. At all. I can do basic stuff, but when you start talking joins, my eyes glaze over and I lose the previous 2 minutes.

Outside of tech? Telling when I'm done. I'll go and go and go and think I'm fine until I'm absolutely not, and it can be extremely unhealthy

Me too! And I rejected all the time because of this. Damn you, SQL!

I wrote a thing some time ago that may just help: info.pagnis.in/blog/2017/08/19/dec...

e2e tests and explaining how my code works

I'm bad at forming new habits. Could do something consistently for the start but falls till you are hit with time crunch.

It's funny i could follow through something consistently for months or years but had problems in forming new habits.

Parenting. It’s a daily battle and a learning process. 😅

I feel this. I have two very young, and one on the autism spectrum. Battle is barely a euphemism some days

Reading thoroughly and not acting impulsively. I have an ADHD-like tendency to jump before I have adequately looked. Unfortunately I have not yet figured out how to get rid of it completely as it is not a very active decision. I wouldn't say it is bad enough to be a problem per se, but a definite weakness.

Using Linux! I often find myself googling the same mundane things over and over because I can't seem to make a mental note of giving it a few minutes and learning it. I still can't make a string be all uppercase in bash while knowing of atleast 3 places where I used a stackoverflow snippet for the same. That's why I call myself the smartest doofus in my group :)

Regular expressions
Regular expressions
Regular expressions
Regular expressions
Regular expressions
Getting paid right/in time
Talking to non-tech peoples
Regular expressions
Regular expressions

10 finger typing  😕

As long as it works, no problem. You're just giving the extra fingers a rest.

Some friends at my company sent a typing test around recently, and without fail*, devs were the slowest typists.

*An exception being our CFO, who types at 40 WPM.

You're probably right, but just recently I read an article, that you could save so much more time and it's a 21st century skill and wht not and since then it's nagging me.

Um... science.

Like, Biology, Chemistry... I just can't wrap my head around it. And believe me, I've tried. Multiple times.

Because science is COOL. And it's annoys me so much that my brain just goes pop when I try and learn it.

(Any and all thoughts on how I could force my brain to get it would be SO APPRECIATED you have no idea.)

I want to answer this with a joke... but that's probably just a defense mechanism. Or something.

Relationships. Also regular expressions.

This, but with people.

Explaining code (and coding in general) to non-coders, though I'm getting better.

And CSS... God, it takes me forever every time and I always miss something and have to tape everything together. I definitely have to practice better CSS

Baking. For the life of me, I can't bake. I can make some mildly acceptable cookies, but other than that I can't do pastries.

I tried baking bread a few times, and without fail I created a solid brick.

That said, I fancy myself as a decent cook.

In code, meaningful variable and function naming conventions from the start. I often get down the rabbit hole of making things work then realize how poorly I've named a few things. Thankfully I've become a master of find and replace all...

• Focus, time management, self-discipline... you get the idea.

• Visual UI design, esp. the creative/abstract kind. I do know how to create legible, usable UI with proper colour contrast, whitespace, sizing, etc, just nothing creative.

• Sports

Plenty other things but those are my top 3.... 🤷🏽‍♀️

Typing when someone is watching. During pair programming I start misspelling every word and fumbling around on the keyboard like no one's business.

Compromising, I really don't like it.

Articulating my thoughts.

I can put together a full application architecture in concept but explaining it to others, or attempting to document it effectively always feels like an up hill struggle.

Following process. I’m great at making them and writing the documentation about how it all works. But left to my own devices I’ll forget half of my own process.

Regex & To keep in touch with friends

Also Canadian, also not much of a skater. (But I believe I'm the best skater in my family).

Integrating via 3-legged OAuth. I've done it a number of times for different purposes, and every single time, I'm like uuuuugh.

Outside of tech? Financial stuff.

Conversation and smalltalk

The debugger. 25 years of professional programming and I still splatter print statements everywhere to figure out what's going wrong.

Typing, spelling and reading fast. That doesn't apply to code.

Being spontaneous. I am a person who does things very intentionally and calculated. Whimsy is foreign to me.

Cooking. I'm moving out alone to Argentina in a few days and that part scares the hell out of me

Administrative details. Timesheets and the like. Drive me up a wall.

Feeling competent.

Career wise, I’m fantastic at SEO and copywriting but I’m terrible at analytics and tracking my data.

Aggressively applying to jobs.

Math. Mental math specifically. I'd rather let a machine math for me than figure out 20% for a tip.

Troubleshooting the damn printer at work. Why won't this one piece of electronics bend to my will!?

Spelling and grammar. Its probably a good thing I have spell check available 😄

At controlling my inner rage dragon at home. I'm always fighting and arguing against mirrors and it's bad when I'm showering!

I'm currently working on not arguing in the shower by singing D:

Making plans.

Finishing things. I have too many works-in-progress at any given time, and they keep on dragging for years!

Outside tech?

Anything financial, planning for the future, setting goals, keeping in touch with people, shopping sensibly, painting over rust...

Inside tech? About half of everything new.

Networking ... no matter how many times I sit down and try to understand NAT Gateways, VPCs, CIDR ... nothing sticks

Regex - my mind just shuts down 😂 thank SO and Emma Weedekind’s recent post on dev.to

Going home. I work too much.

Knowing when I’m “thrashing” vs needing to spend more time on something.