Live data from Hacker News

What is the best part about being a Software Engineer?

alexkras.com

181–190 of 213 posts

Re: What is the best part about being a Software Engineer?

#181

- The feeling that everything "new" is something that essentially already exists but that you now need to relearn, because it's different in the most subtle and annoying ways - The knowledge that there is often no physical, tangible output to your work (as XKCD put it, you press buttons to make a pattern of lights change until it's "correct") - The damage done to your body from sitting at a desk for most hours of the…

That article is here:

http://www.onebigfluke.com/2016/04/whats-awful-building-soft...

Referenced from this article.

Re: What is the best part about being a Software Engineer?

#182

For me, the best part is interviewing for new jobs. You have not lived till you are asked to reverse sort a binary tree, whilst skipping on one leg, having to show you are passionate about the job! The disappointment was that the actual job did not entail data structures, Algorithms or even skipping! Just CRUD web apps.

haha are you being sarcastic?

Re: What is the best part about being a Software Engineer?

#183
post #74

Earlier quoted context omitted.

That's too simplistic of a view. Physical work is hard on your body, but mind work is equally hard and you cannot brute force most of it. The mind needs to process complicated problems asynchronously, while you let it rest by taking a walk or doing house cleaning, but physical work needs no such thing, as long as your body condition is sufficient.

Maybe a coal miner is the wrong example, but I think you can think of plenty of jobs you would not want. I certainly would not want to go back to working in a call center like I did in my previous life, even if the pay were the same or slightly better.

If I could make the same money as a barista, I would do it, while continuing to program on my own as a hobby.

These days it's mind numbing Java CRUD services all day long, then I work on my own stuff (in any language but Java) at night.

Re: What is the best part about being a Software Engineer?

#184
post #183

Earlier quoted context omitted.

Maybe a coal miner is the wrong example, but I think you can think of plenty of jobs you would not want. I certainly would not want to go back to working in a call center like I did in my previous life, even if the pay were the same or slightly better.

If I could make the same money as a barista, I would do it, while continuing to program on my own as a hobby. These days it's mind numbing Java CRUD services all day long, then I work on my own stuff (in any language but Java) at night.

Well, I can't argue with your opinion, but I certainly would not.

Re: What is the best part about being a Software Engineer?

#185

- The feeling that everything "new" is something that essentially already exists but that you now need to relearn, because it's different in the most subtle and annoying ways - The knowledge that there is often no physical, tangible output to your work (as XKCD put it, you press buttons to make a pattern of lights change until it's "correct") - The damage done to your body from sitting at a desk for most hours of the…

That article is here: http://www.onebigfluke.com/2016/04/whats-awful-building-soft... Referenced from this article.

Thanks for the link. A lot of the software engineer points in that article seem to be focused at the level of writing and maintaining code, but zooming out gives you the chance to look at the nature of a software development job.

Re: What is the best part about being a Software Engineer?

#186
post #155

Earlier quoted context omitted.

Your username is well chosen - Tcl is a very underrated language. I'll wager they engineer rings around their competition. Good luck with the Java. You know it's the new COBOL right?

Tcl may be the best language in the known universe (highly doubt it) but try running a job search for it in linkedin. Then do the same for java. I'm not the damned CEO you know. I need to think of my own employability/career.

That is the saddest part of our industry. There are so many cool and interesting technologies we'd like to work with, but we can't if we actually want to feed our families.

Re: What is the best part about being a Software Engineer?

#187

The same as being a poet or an artist.

But being able to count on a six figure salary after a couple of years on the job (as long as you're from, or willing to relocate, to one of about a dozen cities) doesn't hurt either...

Only if you are middle class American with ivy league degree, or migrant from wealthy family (so your family would pay your bills or already have paid for your education in US).

Re: What is the best part about being a Software Engineer?

#188
I recently bought a car from a man who had a stroke. When I explained what I did for a living, he pointed at himself, drummed his fingers in the air like he was typing, and when he hit that Enter key, said, "Yeah!", while doing a pose. He had been both a developer and manager. To forget everything in life except that moment when you really nail some code is inspiring.

Re: What is the best part about being a Software Engineer?

#189
post #82

For me, the best part is interviewing for new jobs. You have not lived till you are asked to reverse sort a binary tree, whilst skipping on one leg, having to show you are passionate about the job! The disappointment was that the actual job did not entail data structures, Algorithms or even skipping! Just CRUD web apps.

Yeah, but If I had to reverse a linked list without recursion to be hired, I'll be damned if I'm going to allow someone else to be hired without doing that.

It's hard to know you can simulate a function stack with a for loop I guess...

Re: What is the best part about being a Software Engineer?

#190

Earlier quoted context omitted.

CRUD applications are developed brainlessly. They're more challenging than it seems. It's interesting that people develop CRUD applications in garbage-collected languages because manual memory management is a pain, but they'll gladly expose manual data management to the end user without worrying about analogous data bugs. If data bugs are important, you need your data management system to have some qualities of a gar…

Interesting. Would love to learn more about these kinds of ideas. Is this something you've been kicking around in your own mind? Or has someone put a more formal framework around these concepts? Where can I read more about it?

Thanks.

These are mostly my ideas (not that there are any truly new ideas), but they are more-or-less the result of trying to write idempotent services. That is, making sure the same request always returns the same response (modulo incremented sequences). Analogizing data issues to memory management is very useful to software developers that haven't been beat up by data availability and consistency issues in the past.

It's also useful to study functional programming concepts, especially data immutability and data structures that work within that limitation, to identify possible design patterns for organizing things that themselves don't change.

For more inspiration, learn about the plumbing of git if you haven't already. The fact that commits never change buys git all sorts of things.

How do I model this in a database? I treat (table, sequence_id) pairs like I would memory addresses (or git objects). And I try to design append-only tables as much as possible. No UPDATE queries. Only INSERT (malloc) and DELETE (free). There are a lot of nice benefits here, including the ability to shard based on the age of data, being able to aggressively cache partial results and recalculate only when things change, etc.

To that end, most data is best modeled as a time series if data consistency is an issue (and it is if you need to scale). There are exceptions for axiomatically true things, like mathematical calculations, but for the most part things like "how many users like sandwiches" change depending on when you ask them. So the right question is "how many users like sandwiches as of 11:32:23 today?". Or maybe "how many users liked sandwiches when you ran calculation job 432342?" Then you can collate timestamps or sequence IDs to see if some data is stale, if unused data can be cleaned up, etc.

Post reply on HN