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."
Things I Wish I’d Learned Sooner After Being a Developer for 10 Years
41–50 of 83 posts
Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years
#42Googling 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…
Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years
#43Googling 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 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
#44I 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…
Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years
#45> 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 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
#46Earlier 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.
Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years
#47Googling 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.
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
#48Earlier 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.
Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years
#49> 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.
Re: Things I Wish I’d Learned Sooner After Being a Developer for 10 Years
#50An 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…
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.