Live data from Hacker News

What Makes a Great Software Engineer? [pdf]

faculty.washington.edu

91–100 of 134 posts

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

#91
post #29

Earlier quoted context omitted.

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…

> The day my first was born was the day my motivations and my reason for being shifted. One of the many reasons I remain childfree.

Each to their own - I don't see it as a bad thing. Having children has made me happier and more fulfilled in ways that I could never have imagined.

You cannot know the feeling of it until you do. You cannot really understand it until you do. It changes your world.

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

#92
post #91

Earlier quoted context omitted.

> The day my first was born was the day my motivations and my reason for being shifted. One of the many reasons I remain childfree.

Each to their own - I don't see it as a bad thing. Having children has made me happier and more fulfilled in ways that I could never have imagined. You cannot know the feeling of it until you do. You cannot really understand it until you do. It changes your world.

> Having children has made me happier and more fulfilled in ways that I could never have imagined.

That's my main problem with it, it's super selfish to procreate. I don't feel I have the right to force new life (with all the pain and suffering that entails) onto this world for the sake of making me happy. I love my potential children too much to do that to them.

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

#93
post #83

Earlier quoted context omitted.

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 m…

Exactly the same :) the guilt of not spending time with my kids and my wife is too much. There have been times where I've tried to sit down and work on something but it's no fun when there's a strong feeling of "I should be spending this time with my family". The other thing I've noticed is that the separation and challenge of raising children has made me more productive. You don't know stress until you've had a newb…

> There have been times where I've tried to sit down and work on something but it's no fun when there's a strong feeling of "I should be spending this time with my family".

That doesn't sound like a recommendation for becoming a parent. In fact it sounds the opposite - "don't have children, or you'll guilt yourself out of every other thing you could be doing".

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

#94
How can you even ask this question? Different teams have such different dynamics, such different ways of working: different tools; different practices: I would be exceedingly surprised to find any commonality whatsoever.

The discipline of software engineering is no undifferentiated mass: but a cultural kaleidoscope of different textures and colors; and a person who excels in one environment can easily tank in another.

For safety critical embedded code: a meticulous personality is essential; only someone who is a stickler for rules and processes will survive, let alone thrive. In a fast paced and creative environment, this person would be absolutely terrible!

The size of the organization is also a critical in determining who thrives and who does not. In a small team, being an independent self-starter and problem-solver is critical; whereas in a large team, that sort of independence will quickly get you into real trouble.

Different organizations have different values and assign different priorities to the various qualities and attributes of the product and the people who design it.

My advice: be as humble and as flexible as possible; do your best to fit into your team and your organization; but do not be afraid to recognize when you are bending yourself out of your comfort zone: Be prepared to move around a few times to find the organization and the team that fits you, too. There is no shame in this, and you will be happier in the long run.

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

#95

Earlier quoted context omitted.

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 admit some envy of people who find their passion early and make the most of every year of their life leading up to a career, but if he's so smart and driven, why is he working at some "boring tech" company as a cog under some layer management? Why doesn't he consult solo and reap the fruit of his precociousness?

> I admit some envy of people who find their passion early and make the most of every year of their life leading up to a career

Don't. At least some of us are having a bad time working because of it.

I found programming in my early teenage years, and - excuse me if I sound arrogant - by now, I've already seen or worked with anything even remotely interesting programming-wise that a regular coding dayjob could throw at me. Gluing together CRUDs from random libraries gets boring very quickly. Solving problems in large systems becomes day-to-day drudgery, because you know that there isn't much smarts there either - all those problems are, unavoidably, self-inflicted. As the codebase grows, you spend bigger and bigger fraction of time allocated to a task on routing - figuring out how to transport some information or command from one piece of the system to another, without turning everything into spaghetti or setting it on fire.

The usual things I see cow-orkers excited about is "oh, I'll get to use generics in Java for this, I've never used generics before!", or "this will teach me Framework X, it's surely a powerful tool that will be very useful for me in the future". They didn't get through this phase in high school, so they're full of excitement about work, however bullshit the project is. If you "found your passion early", you don't get that - all that remains is the bullshit project.

The point being, most of the work I've seen in this industry is pretty meaningless, and it's harder to do if you don't have the comfort of being constantly excited by even most trivial insights in programming. People who started late are better off, because the enjoyment they get through learning also helps them show up and do the work they're being paid for. They don't need to spend time on side projects after work just to retain their love for the craft.

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

#96
post #47

Earlier quoted context omitted.

> 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…

That's a good point. Given the choice, I definitely would work with someone who's more pleasant to interact with. But my definition of "pleasant" in a professional environment is far away from my definition of "pleasant to have a beer with". Like you can be a very friendly, chill, and fun person, but if professionally you keep overpromising, not own to your mistakes, pretend you know something when you don't (which c…

"Like you can be a very friendly, chill, and fun person, but if professionally you keep overpromising, not own to your mistakes, pretend you know something when you don't "

This describes exactly the type of people the corporate IT department at my company. Really pleasant people until you actually need something.

Career wise these people can go very far though.

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

#97
post #76

Earlier quoted context omitted.

I don't get the "9 to 5 wouldn't make you a great engineer" As an experienced engineering manager this is what I've come across - Some of the engineers who put a 9 to 5 clause, are usually the obstinate engineers, who are not very productive during the hours of 9 to 5, but won't make up by working extra hours. The motto is 'This is all I'll deliver, live with it'. Perhaps, this bias factors in and a generalization em…

Yeah, it's not about being unwilling to occasionally work overtime. The thing 9-to-5'ers are railing against is that overtime is being taken for granted. It's that projects are planned with unrealistic deadlines assuming we'll burn our lives away meeting them.

But don't the managers take the required estimates from engineers and plan accordingly ? Unless there is a strong deadline set by the market or by the customers.

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

#98
post #83

Earlier quoted context omitted.

Exactly the same :) the guilt of not spending time with my kids and my wife is too much. There have been times where I've tried to sit down and work on something but it's no fun when there's a strong feeling of "I should be spending this time with my family". The other thing I've noticed is that the separation and challenge of raising children has made me more productive. You don't know stress until you've had a newb…

> There have been times where I've tried to sit down and work on something but it's no fun when there's a strong feeling of "I should be spending this time with my family". That doesn't sound like a recommendation for becoming a parent. In fact it sounds the opposite - "don't have children, or you'll guilt yourself out of every other thing you could be doing".

Well it's not for me to recommend. I don't recommend it if you don't feel you've got where you need to be and that matters very much.

There's tonnes of reasons why I wouldn't recommend parenthood. I don't think I was ready by any margin. All I'm saying is that I don't regret it and I consider it the best decision of my life.

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

#99
post #98

Earlier quoted context omitted.

> There have been times where I've tried to sit down and work on something but it's no fun when there's a strong feeling of "I should be spending this time with my family". That doesn't sound like a recommendation for becoming a parent. In fact it sounds the opposite - "don't have children, or you'll guilt yourself out of every other thing you could be doing".

Well it's not for me to recommend. I don't recommend it if you don't feel you've got where you need to be and that matters very much. There's tonnes of reasons why I wouldn't recommend parenthood. I don't think I was ready by any margin. All I'm saying is that I don't regret it and I consider it the best decision of my life.

I'll say the selfish thing. There isn't (and rightly so) any law that requires us to have children. I say use it. Let the suckers who want children raise the children we need to take care of us when we are to old.

My personal recommendation us when in doubt, err on the side of not having children. Don't make life harder on you than it has to be.

Post reply on HN