4 ms·
I boil it down to two things: #1 Rapidly Climb Learning Curves The ability to quickly learn enough about new subjects to be useful. New technologies or APIs;
by stickfigure 7y ago
I boil it down to two things:
#1 Rapidly Climb Learning Curves
The ability to quickly learn enough about new subjects to be useful. New technologies or APIs; new algorithms; mathematical or statistical subjects; and most importantly, your problem domain. Some of this ability is a skill, "knowing how to learn", which covers google-fu, reading comprehension, prioritization, time management, etc. Some of this ability comes from having enough aggregate experience that new information just clicks into place like jigsaw puzzle pieces. Some of this ability comes from the confidence of having climbed enough seemingly insurmountable learning curves that this next one is "just another day at the office".
A sign you're doing this wrong: "I need training!"
#2 Understand The Customer
IMHO, the best engineers are half product managers. You can easily get a 10X improvement in productivity by building the right features and not building the wrong ones. Yes, professional product managers are great, but technical limitations often impact product design. A great engineer knows when to push back or suggest alternatives. This requires empathy not only for the customer, but for the product management team. This ability is also tightly coupled with #1 - you need to quickly come up to speed on the problem domain, whatever that may be. If you wan't to be a great engineer, don't study algorithms (until you need an algorithm, of course), study the particular business that you're in.
A sign you're doing this wrong: "Whatever, just tell me how you want it and I'll make it that way!"
- mindtricks 7y agoAs a long-time product manager, I completely agree that customer empathy and domain knowledge go a long way, especially around tactical needs. The easiest way to start is to just ask yourself, "If I were using this product/service/feature, would I want it to work this way?"
- drewcoo 7y agoThat comes right before getting customer data or asking them, right? It's easy to make up just-so stories and completely disconnect from customers' reality if you're stuck in your own head.
- davidivadavid 7y agoCustomer data and asking customers isn't fool proof either. That's why the best shortcut to being a great engineer/product manager/designer is working on stuff you would use yourself to solve a problem you really have. That way you limit misinterpretations.
- agarwav 7y agoI would also like to add that business problems to be solved should not be driven by technical desires, rather accompanied. The problems being solved have a high possibility of losing track if the tech starts controlling it. I have seen instances where people have first set their minds on the tech problems to be solved and then deriving the real customer need from them - this is wrong and does not go a long way.
- mindtricks 7y agoEvery PM needs to do that, but working directly with a customer isn't always an option for the engineer. Point above is just to point out that thinking about whether you'd use or pay for the service yourself goes a long way in changing a mindset and building empathy. It's not a recommendation to make up stories.
- edanm 7y ago> IMHO, the best engineers are half product managers. Absolutely agreed. I think this is part of the source of the endless fighting around "10x engineers". In most discussions where people are trying to "prove" their existence, they will usually bring up things that are outside of the scope of a traditional engineer, that involves some kind of outside/customers/business perspective on a problem/solution.
- pmiller2 7y agoThat’s a rather poor attitude you have toward your colleagues if any of them dare suggest they need a little training.
- tehpsalmist 7y agoI think the author is thinking more of someone who is insisting they cannot proceed without being given training, versus someone who is doing everything they can to keep up and could benefit from some training to stay on top of things.
- stickfigure 7y ago"I need training!" says that you need to figure out how to make me good at this role. It shifts responsibility onto the organization; if I suck at the job, it's someone else's fault. A great engineer figures out what to do no matter how dysfunctional the organization. It's not that it makes you a bad engineer if you can't thrive in an imperfect organization. All organizations are varying levels of imperfect. Great engineers figure out how to be great anyway.
- Scarblac 7y agoWhat if training is simply the most efficient way to get the required knowledge and it has nothing to do with the level of perfection of the organisation?
- brianwawok 7y agoMaybe, but it means the guy who can teach himself via google is going to get his similar project done a lot faster.
- Scarblac 7y agoI don't think Googling is the fastest way to learn things in general. But I was mostly thinking of stuff that can't be found on Google, e.g. the last time I said I needed training was when I was going to do maintenance at some company, on some internal application that I had never seen. I didn't know the domain either. But I had heard that a two-day training course for users existed (also given by internal people). So I said I wanted that training (developers before me hadn't), people thought that was a good idea and it turned out to be very helpful.
- muzani 7y agoArguably the best engineers are also good designers, and everything else related to the product. Some of the best ones I know dabble in things like art and music, and do it better than most of the people who are full time specialists. It reminds me sort of like watching sports, where a world class defender can attack better than a second division forward. Maybe they just have really outstanding soft skills.
- jakemal 7y ago> Arguably the best engineers are also good designers Is there an implied caveat that this applies mostly to Frontend engineers? Or do you think this is something Backend engineers should also be good at? Or I suppose there is third option that great engineers should do both.
- gitgud 7y agoGood design in my opinion extends beyond the GUI. It encompasses api design, software architecture, system architecture even the version control and deployment systems.
- jakemal 7y agoAgreed. But in the context of the parent comment, it seems like they are specifically referring to web interface design.
- muzani 7y agoWell, a lot of them are "full stack". Full stack seems like a fantasy but this really seems to be the case. I know plenty who work front end for a couple years and switch to a back end role just because they want some back end experience. Some even switch to a sales role. I think it's part of the learning process, where cross-discipline helps them learn a lot faster. Or maybe it's the attitude, where they work to learn as many things as possible rather than optimize for some high paying specialist role.
- oceanghost 7y agoDo you have any tips for "rapidly climbing learning curves"? I find the pedantry of learning how to do the same thing over, and over and over... to be... pedantic?
- purplezooey 7y ago#1: Rapidly climb corporate inner social circles.