Live data from Hacker News

Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

medium.com

41–50 of 83 posts

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#41
post #32
post #9

An observation: a lot of these---especially 'soft skills'---can't be properly learned earlier. They're a side effect of experience, and the 10 years doing the job is the only way to properly get them. The things I most often hear from potential employers when we ask what we should focus on more in teaching them are "soft skills" and "troubleshooting". My response is now to ask which of the long list of technical skil…

An aphorism I occasionally use (I can be tedious): "the only way to make a twenty-year old comfortable leading a meeting is to wait until they're a thirty-year old." Doesn't stop us from forcing the poor bastards to do public-speaking assignments or dropping them into "teams" of completely inexperienced people they've never met with no leaders in the name of ephemeral "soft-skills."

I am only 26, and I know I'm not good at management, but I don't think that's really true. During secondary school, I took part in Model United Nations conferences, and after the first two or three, I was magically completely happy standing up in front of a large audience of peers being asked awkward questions. There are a bunch of required skills that you can simply train (e.g. with Toastmasters), even if you can't hit the entire spectrum of management skill this way.

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#42
post #4

Googling how to bubble sort seems a bit extreme. I'm not much for Cracking the Code Interview type questions but this would certainly be a red flag.

Part of the problem with things like "implement Bubble Sort" is that most actual programming tasks are "here's a problem, find the best implementation". There aren't many sorting tasks where Bubble Sort is an appropriate implementation: a _better_ interview question would be "here's a list of numbers, sort them without using a standard library function." Followed by "what are some advantages/disadvantages of the meth…

FizzBuzz also has zero practical value, yet it will filter out people who can't code.

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#43
post #4

Googling how to bubble sort seems a bit extreme. I'm not much for Cracking the Code Interview type questions but this would certainly be a red flag.

I've never had to do a bubble sort outside of college/uni. You could ask me right now to do one and I wouldn't be able to do it without at least having the steps in written English.

I've never needed to use one, I can just do .OrderBy() or similar in the language I use.

Does that make me a bad developer?

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#44

I tend to disagree with many of the sentiments. In particular, many software folks don’t know the most rudimentary data structures and algorithms. Those should be memorized, frankly. Lately I have been exploring old programming books on archive.org and realize how downhill the industry has gone from fundamental principles, which leads to “language-z” zealots to satisfy some business need. The author mentions COBOL as…

I am having a lot of job interviews lately. Interviewers usually ask me about my latest experience. It was implementing a pretty clever parser involving a lot of memory management. So I give details about the algorithm to the interviewer. I try my best to make it simple to understand. But most of the time, I get this kind of comment: "That sounds great, but which kind of middleware/broker/framework did you use?" I answer: none, we crafted everything from scratch. And then come the "oh, no Angular then"? "Angular? What the fuck are you talking about?" And then I go into autistic mode: get lost, you buzzword seeker. So my piece of advice to everyone: algorithms don't get you hired.

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#45
post #31

> I come from a culture that values memorisation over creativity and problem-solving. Fuck that. To this day, I still Google how to bubble sort. I really hope this is hyperbole, but you should never use bubble sort. I can't think of a single legitimate reason you'd want to use it. Insertion sort, is a good O(n^2) sort to know.

Insertion sort is probably the one you'd come up with anyway, if you didn't know any sorting algorithms. If asked to sort a deck of cards, guess which algorithm almost anyone would naively use.

If there are instead two people to sort the deck of cards, they'll probably invent some variant on a merge sort!

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#46

Earlier quoted context omitted.

99% of the data structure decisions I make at work are whether I should use a vector, a tree, a hashmap, or (very rarely) a list. the standard library implementation of whatever I choose is almost always sufficient. I wouldn't expect the average programmer to be able to implement all of these on the spot, but if you don't use them enough to understand the basic trade-offs, I have to wonder wtf you are doing all day?

Every programming job is different. I worked for 6 years at a well known videogames company and never had to use a vector or a tree ever. I was mostly using lists and dictionaries and occasionally an array, and that’s about it. I never had to do anything more complex data structure wise than that and I never really had to write my own data structure nor anything approaching an algorithm.

that makes sense, but presumably you knew enough about vectors and trees to understand why you weren't using them?

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#47
post #4

Googling how to bubble sort seems a bit extreme. I'm not much for Cracking the Code Interview type questions but this would certainly be a red flag.

You wouldn't get this question even in that style of interview. Besides bubblesort just being terrible for everything, you don't get many "implement X" questions even in coding style interviews, they just don't make for good questions.

Questions need to be in pursuit of some goal, with different options for implementation. Usually you'll get a question with a fairly simple naive implementation with terrible performance, then other options which have more favorable worst case running time.

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#48
post #12
post #6

Earlier quoted context omitted.

A lot of people would google FizzBuzz unfortunately.

I'm about to do some interviewing and I am much more interested in how they would handle a credit card provider being down when processing a transaction. Or if they can articulate that solution verbally. Or if they handle me taking an opposite position as devil's advocate well, etc.

[deleted]

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#49
post #31

> I come from a culture that values memorisation over creativity and problem-solving. Fuck that. To this day, I still Google how to bubble sort. I really hope this is hyperbole, but you should never use bubble sort. I can't think of a single legitimate reason you'd want to use it. Insertion sort, is a good O(n^2) sort to know.

If you're working with rotating drum memory, bubble sort provides the best real world performance for any kind of data set that would fit on it.

Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years

#50
post #9

An observation: a lot of these---especially 'soft skills'---can't be properly learned earlier. They're a side effect of experience, and the 10 years doing the job is the only way to properly get them. The things I most often hear from potential employers when we ask what we should focus on more in teaching them are "soft skills" and "troubleshooting". My response is now to ask which of the long list of technical skil…

I think they can be taught. By setting out to teach rather than boast about experience, ive seen senior developers instilling better soft-skills in new grads. A lot of new grads just aren't thinking about this stuff as much as the tech but once you take them under your wing and walk them through how the presentation of an idea will let it be received better regardless of technical merit they begin to see it.

It may take 10 years to blindly learn these skills but with a single, good mentor you can learn it quickly. I think most senior developers dont have the patience nor the transparency to lay this out though. Its a very honest conversation to have with someone - "Hey that idea you had is a good one but your presentation of it is problematic. Here is how you can make people more likely to see your point of view" is not as sexy as debating microservice vs monolith.

Post reply on HN