Live data from Hacker News

Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

news.ycombinator.com

471–480 of 538 posts

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#471

I wish I knew earlier that I had enough knowledge to build production quality applications. I had this idea early on that I had to attain some level of mastery that was always just outside of my reach, and that the only remedy to that was learning everything possible under the sun. But after spending years trying to get to that point, I realized that I could have been building and shipping products that whole time. I…

Thanks for this comment! I appreciate it as it's something that I've been suspecting for the past year.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#472
post #351

Earlier quoted context omitted.

I agree there is a balance to be met. For greenfield applications, chose whatever the customer ask for on their Request For Proposals, or suggest modern solutions if they leave it open to proposal reply. On existing solutions, deployed for several years on the field, actually measure what it brings in regarding business value. Either in terms of reducing project costs thus improving profit, or improving customer UI/U…

There are plenty of cases where new frameworks come out that allow you to move forward much more rapidly as a dev team. They allow better testing, better code organization, etc. Especially in the Javascript world, it's such a new field that new techniques are being invented regularly. I've seen old backbone applications that are essentially frozen in time feature wise, because the code is so cumbersome and coupled to…

On JavaScript world, old techniques and architecture lessons are being rediscovered every day. There is hardly any invention going on besides JIT compilation improvements for dynamic languages.

As for CV driven programming, here is a real case from a long gone project.

Dumping a fully working and battle tested Perl scripts for application installation in several flavours of UNIX, for Groovy based ones built on top of Grails.

It really improved the business value of those customers having to deploy a JVM, executing scripts slower than before and what was a simple set of CLI commands turned into starting Grails and navigate via web pages uploading files.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#473
post #460
post #152

Shell scripting (which will lead into Unix internals). A lot of programming is automation and yak shaving, and shell is often the quickest tool to get past that. It lets you get to the meat of the problem you're actually solving. Using the same tool for build, test automation, deployment, sys admin, refactoring, etc. is valuable. Otherwise you are stuck with frothy and immature domain-specific tools that clutter your…

I agree, I knew how to "use" unix/linux many years ago, essentially knowing how to run things on a command line, but it's only in the last few years I've begun to really learn how to use it. For the last couple of years I've been focusing on doing more shell scripting and learning more of the unix tools available and I wish I'd invested the time a decade earlier because it's paid off more than anything else. It goes…

Yes I think that experience is common. Everyone uses shell, but many do it reluctantly, because it looks old and gross. My first experience with it was realizing that 'x=1' works but 'x = 1' does not. And also realizing that 'x=1' creates a GLOBAL variable. Who would design such a crappy language?

Then you get past the surface ugliness and discover its power.

I agree that shell SHOULD be a first programming language. But I don't think you can teach it to beginners with a straight face. There are too many sharp edges.

I'm working on both a bash-compatible shell and a new language that aims to fix this:

http://www.oilshell.org/

It would be great if the first thing you boot up to on a computer is a nice programming language with the capabilities to do practical things like send mail, scrape the web, talk to hardware, etc. I think of "apt-get" as the standard library for shell, and it is unbelievably powerful.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#474

Find another profession. Unless you really love programming (I do). I am well compensated, but my contemporaries in other professions are better compensated - from two-fold to ten-fold.

This comment is highly suspect. Do all your contemporaries happen to be neurosurgeons?

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#475
post #473
post #460

Earlier quoted context omitted.

I agree, I knew how to "use" unix/linux many years ago, essentially knowing how to run things on a command line, but it's only in the last few years I've begun to really learn how to use it. For the last couple of years I've been focusing on doing more shell scripting and learning more of the unix tools available and I wish I'd invested the time a decade earlier because it's paid off more than anything else. It goes…

Yes I think that experience is common. Everyone uses shell, but many do it reluctantly, because it looks old and gross. My first experience with it was realizing that 'x=1' works but 'x = 1' does not. And also realizing that 'x=1' creates a GLOBAL variable. Who would design such a crappy language? Then you get past the surface ugliness and discover its power. I agree that shell SHOULD be a first programming language.…

> There are too many sharp edges.

I wasn't thinking they should learn programming as such. More that they should learn some various unix tools (grep/sed/awk/etc), learn how to combine them with pipes and learn how they can save the workflows in a shell script. Maybe some functions and variables but not if statements or loops. Maybe even do that in awk instead of bash.

I really love the blog by the way, any tips for putting one together like that? I'm currently replacing my node based abomination with a similarly minimalist one built with make, a couple of awk scripts and pandoc. I was thinking of going even more minimalist and putting a link to firefox reader mode on the page.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#477
1. Many managers and customers really do not know what a computer is. At all. We know they don't understand code. Many don't even understand data. This problem very slowly dissolves over the decades, as the populace ages and gets replaced.

2. Personalities matter more than technology.

3. Don't let people drive over a cliff, just because it's their responsibility. Remember, you're in the same car. In a matter of life and death (of the project, or the company) grab the steering wheel. Of course, you'd better be sure you know what you're doing.

4. Out of desperation, some people will sabotage you and then blame you for it. Sometimes there is nothing you can do.

5. Always maintain a good working relationship with the person you're working for, whether a manager or a customer. Chat more often, even if it is uncomfortable. Especially with idiots.

6. Some people will be afraid of you, if you have greater expertise. They need to be flattered.

7. Seek out and learn from those who know.

8. Notice I said nothing about technology.

--------------------------

Beware the changes in technology. I spent decades in an environment where saving a few bytes mattered, and C compilers were just okay. The coding style I developed is now obsolete in the era of gigabyte memories, and too hard to read. Change with the times.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#478
post #404

Earlier quoted context omitted.

The thing is there was enormous progress in natural language processing lately; it's now conceivable to enable some simpler forms of programming using your voice commands only (imagine webapp or mobile app builder controlled by voice) that would satisfy needs of 95% of population, putting many companies out of business. Even at top 5 companies there is a panic about it and many managers will tell you in private they…

The thing is that no matter how good NLP becomes, natural language is inherently fuzzy, just like humans are inherently fuzzy. Human languages do not provide the precision that a computer must have. It is possible that the computer can learn to guess correctly in some percentage of cases, perhaps even a very high percentage of cases, but it can never be more than a guess because that information is simply not express…

It's like LEGO - you have some basic building blocks and you can compose some cool things with them. Your first LEGO set has only 3 different blocks, but nevertheless you make some nice tools just with them. Then some smart person adds another 2 blocks later. Then another 3 blocks. Then an electric engine. Suddenly your scope becomes much bigger. Then somebody makes mini LEGO to mask rough edges, making your creations almost realistic.

In other words, initially intelligent app builders will have very limited capabilities. As research advances, those capabilities will increase, in a snowball effect. At some point you'll be just talking to your phone and maybe touching screen here and there when making most web pages/apps, and all will be assembled from those building blocks. I believe we can now finally see a dimmed light at the end of the tunnel.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#479
post #404

Earlier quoted context omitted.

We go through this once a decade. The problem is a fundamental byproduct of the disconnect between humans, to whom mathematics and logic are foreign concepts that take consistent work to internalize and apply, and machines, for whom ambiguity, context, and perspective are foreign concepts that take consistent work to "internalize" and apply. Call me a philistine, but I don't really believe we will ever get the natura…

The thing is there was enormous progress in natural language processing lately; it's now conceivable to enable some simpler forms of programming using your voice commands only (imagine webapp or mobile app builder controlled by voice) that would satisfy needs of 95% of population, putting many companies out of business. Even at top 5 companies there is a panic about it and many managers will tell you in private they…

Consumer demand is endless. The more they have, the more they want. Machine Learning, or whatever it turns into, will just expand the opportunities and the requirements.

Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?

#480
post #217

Be skeptical of all the advice and best practices you read about online. It's mostly fads and fashion with a few useful gems that might not be so obvious. Implement what measurably works not what some blog or news link aggregator site thinks should work. Shoot for simple over complex.

Is this suppose to be ironic?
Post reply on HN