Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
281–290 of 538 posts
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#282Earlier quoted context omitted.
For me, I can't do the front-end stuff, so I am stuck with not able to do anything with my ideas. This is where the networking part would help.
> For me, I can't do the front-end stuff Why not? What's stopping you from learning?
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#283Earlier quoted context omitted.
I have used Spring before and I like it quite a bit. I have tended to use vanilla Servlets for most of my projects recently and use libraries like Gson, Apache Commons, PdfBox etc etc where appropriate. I think if anyone wants to go down the route of using Spring, Play or similar then you MUST spend the time learning it in pretty deep detail. I've seen so many people with "Spring experience" on their CV who can make…
I appreciate the reply, thanks! Perhaps I will try to use vanilla servlets for one of my personal projects. I'll have to start reading the docs!
If you want to use the JVM, one: use Kotlin over Java, it is a strict superset and a better development experience across the board. Two: evaluate something like Dropwizard (or even Spring Boot) well before you go near servlets. JAX-RS is not perfect, but it's a lot better than whatever you will home-roll. (Again, been there.)
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#284The biggest wins are where you make a good decision that avoids an entire class of bugs or an avoid having to write an entire layer of software. These are also the hardest wins to measure.
Pick something you are genuinely interested in and learn it very, very deeply. Don't jump around constantly or you won't have insight.
One thing I wish school taught was code maintenance. Most of the code you write has a shelf life of a few weeks as you fulfill your assignments. Bad decisions only come to haunt you after months.
You need to watch for new technologies that matter, but 90% of what is new will not matter. One technique I've seen work is to build a list of people in the industry you respect and watch what they're interested in.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#285Earlier quoted context omitted.
> If you really need to make software (like I do), make your own company and license/sell your work instead for >500% more than what would be your salary. The hardest part about this (for me) is finding a project/product to begin working on. I'm assuming you came to that sort of idea while working for others (which seems like the best way to learn).
If you do all the other recommended things, you'll start hanging out with people who spend money to solve real business problems. The projects will come to you then.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#286I wish I had taken the time to understand LISP earlier.
Why?
- If a language's syntax is written using an structure that the language itself can easily manipulate, - in such a way that the source code can generate new source code, using the full power of the language (no restrictions), - in a easy-to-program, straightforward way,
... then you practically have a Lisp language.
As somebody important said: "Lisp is the programmable programming language". This is the key difference among the rest of the languages.
I have spent about 26 years programming and only this year I set myself to grok Common Lisp. The power of Common Lisp, and in particular its object system (CLOS) makes languages like Java seem like ugly toys for miserable people.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#287There is no future in software development as a job. Move to a management position quickly, network, make friends with decision makers, don't spend too much time on crafting your skills, your reward for perfection will be more insane work and crazy interviews where one part not 100% done kicks you out. Work on your appearance, kiss up, lift, dress properly, use anti-aging cosmetics, make cool looking hairstyle, wear…
Wrong. I've been at it for 30 years. It's not all roses, but it's still pretty good. The key is to be doing something where 30 years of experience is worth more than 5 years of experience. I'm in embedded systems, and the experience matters there (to enough people, even if not to everyone). Web programming? I'm less convinced that it matters there.
> Move to a management position quickly...
It is my explicit career goal to never become a manager. I've seen what that looks like, and I don't want it. I might make more money if I did, but it's not worth it.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#288"4 years in" I am not sure what "in" means, but I started getting paid for programming in 1984. So, what do I wish I knew in 1988? I think you already said it: "I'm also realizing there's SO much more to learn." Don't stop learning. It was probably around 1988 when someone suggested I look into Lisp and I dismissed the comment at the time, although I did look into AI. I do wish I had known more about Lisp, not necess…
But the power of Lisp (Common Lisp, in particular) goes far beyond all those.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#289Everyone's code basically sucks, including yours. The boundary between a beginner and a coding rockstar really isn't very great unless you are getting into the realm of computer sciences, like machine learning. Learn from your seemingly smarter peers, but don't idolize them. Chances are they will leave the company long before you do, and you will figure out that their coding skills aren't all they are cracked up to b…
This is really untrue. On the surface, code might look the same between a beginner and a senior developer, but the decisions underlying the code will be night and day. Beginners will solve the problem of the day directly, with no care for introducing complexity and no willingness to reconsider past decisions.
Re: Ask HN: For those programming 10+ years, what do you wish you knew 4 years in?
#290Earlier quoted context omitted.
I appreciate the reply, thanks! Perhaps I will try to use vanilla servlets for one of my personal projects. I'll have to start reading the docs!
I have to agree with parent heavily and I used to be a long time Spring advocate since version 1.0. The thing you will find using Java for a long time at any company is you eventually end up with your own framework / stack.... Yeah sure there is some underlying DI or Web framework but a majority of it becomes your framework and workarounds/plugins/extensions for whatever DI/Framework you choose. I used to to think th…
This doesn't match my experience at all. Only really ossified organizations get to this state, even in Java-land. The amount of abstraction I have needed to put on top of Dropwizard in order to do literally everything I've ever needed, from websockets to web pages to file service. The underlying Jersey and HK2 system is simple, well-documented, and straightforward when I've needed to extend it, but these extensions are restricted in scope and easily testable to boot.
I see no benefit, in 2017, to using servlets directly. It's certainly not going to be easier to teach a new hire through look-at-the-code or look-at-our-minimal-doc instead of pointing them at the existing documentation and examples of best-in-breed tooling.