Live data from Hacker News

How to be a wizard programmer

twitter.com

51–60 of 69 posts

Re: How to be a wizard programmer

#52
post #30

I'm going to be the token buzz-kill senior dev: If you run into problems none of the senior devs have experience in and have no answers for, my first concern is that you're massively over complicating something we've solved in a simpler and less risk-exposed way. My second concern is that you're intentionally reinventing the wheel in a way that is massively over complicating something we've solved in a simpler and le…

OP is proposing you solve the problem if no one else has a solution. You are proposing to solve the problem by simplifying. I don't think these need to be mutually exclusive pieces of advice.

Re: How to be a wizard programmer

#53
Something that made my coding skills jump: Attempting to reverse-engineer a extremely large, and known to be well coded by wizards C++-based game.

I ended having to learn details on how C++ work (how vtables work? why?, etc...), what some common stuff on the code was (reference-based smart pointers, locks of various kinds, thread-related stuff, alignment-based custom fast allocators, STLPort stuff, etc...), reading papers about why some things were done that way (yep, the game I choose has lots of papers and talks about its coding!), and so on.

In the end, I couldn't find any of the things I wanted to find, and couldn't convince the game IP owner to let me patch some bugs I found (that are actually killing the game review ratings on Steam), but I don't regret it one bit, I felt like I learned in the 3 months I fiddled with that, the same amount of information I needed to learn in 2 or 3 years of coding my own projects.

Re: How to be a wizard programmer

#55
post #48

Earlier quoted context omitted.

You're demonstrating why people become afraid to ask questions, and stop doing so even when they should. I'd much rather have someone ask when they get stuck, or even if they're kinda stuck. If someone happens to ask me a question that's easily found via poking around a bit more, I'll show them how they could have found the answer, and then they'll have learned two things: the thing they wanted to know and a new patt…

Ironically enough, it's always been the same people who snap about being bothered with questions, who are the first to go running for help when they are confused by something outside their domain of expertise. That's been my experience at least. My very first job was especially bad. There was an entire culture built up where tech leads and senior engineers would never answer chats/emails sent by junior engineers. If…

I've had a similar experience where I joined a new company, worked for four weeks, had a performance review, and was told that I had lost the confidence of my coworkers and if I don't improve my productivity, I'd have to be let go in a month. I quit immediately.

I was contributing from day one. I had introduced unit tests to their code. I implemented a Stripe integration for subscriptions. I added new features. After receiving one of my questions, the senior dev would take a long hard look at me, thinking of the dickest thing to say, then he'd say it. The responses were always condescending and rarely helpful. I became afraid to interact with him.

No matter what I did, I did it the wrong way. He didn't offer solutions, just criticism. When I mentioned that working with this guy was incredibly difficult, my employer said that he understands, but this individual is so good at what he does, it's just something they'll have to deal with. Life is too short to deal with these toxic individuals.

Re: How to be a wizard programmer

#56
post #8

Earlier quoted context omitted.

More likely in my experience, the senior member feels valuable for being able to answer questions and help others.

Not after twentieth question of similar construction and similarly easy to be answered by the one who asked if he actually read the friggin' docs. Seniors like to help learn, not to be used as a walking manual.

As a senior level engineer myself, I always say, "I want to do my part, and part of that is to help you do yours better."

As long as someone isn't being willfully ignorant, I'm more than happy to help them, as them doing their job better helps me do mine better.

Re: How to be a wizard programmer

#57
post #53

Something that made my coding skills jump: Attempting to reverse-engineer a extremely large, and known to be well coded by wizards C++-based game. I ended having to learn details on how C++ work (how vtables work? why?, etc...), what some common stuff on the code was (reference-based smart pointers, locks of various kinds, thread-related stuff, alignment-based custom fast allocators, STLPort stuff, etc...), reading p…

Any blog post on how you did it and what tools you have used?

Re: How to be a wizard programmer

#59
post #6

Until the more senior member quits because they are wasting the vast majority of their time answering questions that could have been answered by just trying for more than 30seconds after hitting an obstacle...

You're demonstrating why people become afraid to ask questions, and stop doing so even when they should. I'd much rather have someone ask when they get stuck, or even if they're kinda stuck. If someone happens to ask me a question that's easily found via poking around a bit more, I'll show them how they could have found the answer, and then they'll have learned two things: the thing they wanted to know and a new patt…

My experience is that people not asking questions when they should is far less common than not taking the time to think when they should. I've found most people's response to a challenging problem is to ask someone for an answer rather than take the time to use their brain and solve it themselves. This might frequently be the fastest way to solve the problem, but there is tremendous value in learning to apply yourself and tackle challenges; it also results in a greater diversity of solutions.

Re: How to be a wizard programmer

#60
post #57
post #53

Something that made my coding skills jump: Attempting to reverse-engineer a extremely large, and known to be well coded by wizards C++-based game. I ended having to learn details on how C++ work (how vtables work? why?, etc...), what some common stuff on the code was (reference-based smart pointers, locks of various kinds, thread-related stuff, alignment-based custom fast allocators, STLPort stuff, etc...), reading p…

Any blog post on how you did it and what tools you have used?

Of course not.

Lots of the stuff involved are borderline illegal, or in some countries completely illegal, this is why also I don't say the name of the game on my post.

I don't want that to come haunt me later.

Post reply on HN