Live data from Hacker News

What Makes a Great Software Engineer? [pdf]

faculty.washington.edu

61–70 of 134 posts

Re: What Makes a Great Software Engineer? [pdf]

#61

I'm surprised to not hear an engineer's memory as an important correlator to skill. I find that working memory especially (or the lack thereof) really can hinder my performance when dealing with a complex problem. Sometimes I think it is THE defining factor!

I find my long-term memory is limited when it comes to technical details. What has served me best is just storing a pointer in most cases and making sure I have access to the reference.

If it's been 6 weeks since I've worked on/with x and now I need to work with x again, what's important is that I have a process to reproduce x or build on x. I'd argue this is a better practice than trying to commit everything to memory because human memory is pretty corruptible. I also find this helps with complex problems because you don't have to deal with the devil upfront, you just have to be able to do some high-level fuzzing.

That being said, I think it's important to commit mistakes to memory because those are embarrassing to repeat.

Re: What Makes a Great Software Engineer? [pdf]

#62
post #13

I don't get the "9 to 5 wouldn't make you a great engineer" about not being passionate, some people are passionate but have other life obligations like kids or other activities. Being personable: "Can I have a beer with this guy?" is the worse in my opinion. I care about your professional skills and if you're communicating well, but you definitely don't have to be a beer buddy, we might have 15 years difference, a ve…

> Being personable: "Can I have a beer with this guy?" is the worse in my opinion I'm not going to disagree with you re: beer buddies. Really the way I read this is not as a requirement that employees participate in after-work events or in mandatory work friendships, but more of a misguided heuristic for something simpler. The general question is whether the average interaction with you is pleasant or not. If your jo…

more of a misguided heuristic for something simpler

To me it's an indicator that the "simpler" is that management (and possibly more, given concomitant hiring practices) has only one way they know how to interact with people: after-class mode from college. In Social FizzBuzz it scores a "Fizz."

Re: What Makes a Great Software Engineer? [pdf]

#64
post #13

I don't get the "9 to 5 wouldn't make you a great engineer" about not being passionate, some people are passionate but have other life obligations like kids or other activities. Being personable: "Can I have a beer with this guy?" is the worse in my opinion. I care about your professional skills and if you're communicating well, but you definitely don't have to be a beer buddy, we might have 15 years difference, a ve…

I feel like if the work isn't immediately like, "This is a product I myself see an immediate use and a need for," I'll have difficulty working on it.

On the other hand, if the product's like, "This is approximately something I've wanted to work on literally my entire life," my 9-5 is going to be a steady output stream of concise, quality code, with the languages and frameworks of my employer's choice.

My 6-8 is usually arts. I think engineering is art, it's just art whose language is mathematics. A lot of people disagree, but I purchased a GE NE-42 neon bulb and it's good evidence for my theory.

Re: What Makes a Great Software Engineer? [pdf]

#65
post #33
post #13

I don't get the "9 to 5 wouldn't make you a great engineer" about not being passionate, some people are passionate but have other life obligations like kids or other activities. Being personable: "Can I have a beer with this guy?" is the worse in my opinion. I care about your professional skills and if you're communicating well, but you definitely don't have to be a beer buddy, we might have 15 years difference, a ve…

Personally I've always hated the concept of beer buddies because if you didn't grow up with it, it's an entirely different type of interaction with different expected levels of intimacy. the people who will pass the beer buddy test will primarily be people who grow up with its culture and creates a monoculture. Perhaps not mono-racial but definitely mono-culture.

I think it really depends on where you come from. At my office in Sydney, Australia, I can say that the office "beer buddies" are extremely ethnically, religiously, politically and socially diverse.

The only things that are explicitly common would be a general appreciation for good beer and music. I wouldn't say it's monocultural, although it does tend to have a bias for people without (young) children.

Re: What Makes a Great Software Engineer? [pdf]

#66
post #29

Earlier quoted context omitted.

> I don't get the "9 to 5 wouldn't make you a great engineer" about not being passionate, some people are passionate but have other life obligations like kids or other activities. I think what the engineer is trying to convey is that a great software engineer thinks about code beyond just the job. I don't think the engineer literally means being a workaholic or the literal 9am-5pm shift, but the engineer has pet proj…

That's a relief. Three kids mandate 9 to 5 work hours. There isn't much quality time or mental energy to dedicate after that. It's a relief because whatever energy I have left I spend on books, articles, papers. Those things have helped my 9 to 5 in a big way. I bring what I learn to the job. It doesn't beat hands on practice. I do itch to work on practice projects and I'm hoping when the kids are a little older, I'l…

I couldn’t agree with you more. I wish I could do more than give you an upvote, so here is an internet cheers and just know there are a lot of people who feel the same way. I also love what I do, read when I can, but at the end of the day I work hours which allow me to be with my kids and wife as much as possible. I hope to keep getting better, to become a great engineer, but I will take the slower road if it means more family time.

Re: What Makes a Great Software Engineer? [pdf]

#68

Earlier quoted context omitted.

Why is that unreasonable?

Its not unreasonable, given that some companies demand passionate rockstar unicorn engineers, yet most companies will not grant that request - they will instead exploit that passion into workaholism and leave you holding the bag when you burnout. So as engineers, we must demand equally that "passion" not be a requirement.

Lots of companies don't actually want "rockstars". I know someone from college with incredible quantiative and programming skills. He started taking rigorous college level math classes and writing his own compression schemes in high school. He got his undergrad degree in about 2 years by getting permission to enroll in 4+ graduate computer science courses each semester instead of doing the normal curriculum.

When he got hired to do boring tech work at the company I worked at, he just freaked everyone out. The questions he asked were too pointed and he would just do things correctly instead of doing what his boss said. Since he was extremely gifted and had offers to work at other (better) firms, threat of job loss didn't mean anything. All his managers basically hated him.

Re: What Makes a Great Software Engineer? [pdf]

#69

Earlier quoted context omitted.

Its not unreasonable, given that some companies demand passionate rockstar unicorn engineers, yet most companies will not grant that request - they will instead exploit that passion into workaholism and leave you holding the bag when you burnout. So as engineers, we must demand equally that "passion" not be a requirement.

Lots of companies don't actually want "rockstars". I know someone from college with incredible quantiative and programming skills. He started taking rigorous college level math classes and writing his own compression schemes in high school. He got his undergrad degree in about 2 years by getting permission to enroll in 4+ graduate computer science courses each semester instead of doing the normal curriculum. When he…

I know people like that, and I think I've been that person before at my first job. I would argue that someone with great quantitative and programming skills who "freaks out" their coworkers is not a rockstar. To be a rockstar developer, you have to have good enough communication skills to work within your team.

A rockstar developer wouldn't ask questions of their coworkers that would embarrass them; a rockstar developer would phrase questions and concerns in a way that the other people on their team could understand. A rockstar developer wouldn't do something contrary to what their boss said, they would explain why would do something a different way before doing it (or explain why it's better). Now, if coworkers or management are too incompetent for even that, sure, even the best developer would have a bad time.

Part of being a rockstar developer is, in short, knowing how to work with developers who may not be as good as you. I've been there before and while it can be tempting to use that opportunity as a way to establish hierarchy (sadly important if your company stack ranks) by asking technically challenging gotcha questions and showing off how smart you are, it creates a toxic work environment and disrupts other people's work. It's much better to help people grow and not to overwhelm them with technobabble

Re: What Makes a Great Software Engineer? [pdf]

#70
post #13

I don't get the "9 to 5 wouldn't make you a great engineer" about not being passionate, some people are passionate but have other life obligations like kids or other activities. Being personable: "Can I have a beer with this guy?" is the worse in my opinion. I care about your professional skills and if you're communicating well, but you definitely don't have to be a beer buddy, we might have 15 years difference, a ve…

This. > Being personable: "Can I have a beer with this guy?" is the worse in my opinion. Social Drinking is a very western activity. In the East (India, Pakistan, China, etc...) a large majority of people are what are called "teetotalers" - never drink alcohol. Yet they socialize as much, if not more.

Drinking and eating is a very social part of life in China...
Post reply on HN