Hacker News new | past | comments | ask | show | jobs | submit login
Back end development in 2018 (medium.com)
96 points by tomcam on Apr 4, 2018 | hide | past | web | favorite | 21 comments

Great advice!

Notable omissions:

No real discussion of network protocols (or a network layer at all). For debugging in a distributed world, that's a valuable skill.

No real discussion of software deployment (although for backend services, docker might qualify). In a world of servers and PAAS's, it's helpful to know how to safely push the bits around.

Deployment: Perhaps that topic will be covered in the separate DevOps roadmap they say they are working on.

My problem is always striking the right balance between learning _X_ well enough to use it and digging so deep into it that I could implement it from first principles from memory, write a book about it and teach a graduate-level university course in it. It's hard to figure out just where to draw the line, especially when it's something that just "supports" the work, like redis or Kafka.

I've the same problem, especially with a full time job. Those who can learn on the job are the luckiest.

Unless you have a particular interest, as a default you could keep it practical.

Learn enough X to use it in your current project. Repeat for other projects.

I would add:

1. OpenSSL and creating your own PKI as well as managing certs, renewals, and mutual client auth with x509 certs

2. basics of server security. IPTables and best practices around only opening ports you're using and other settings

Enterprise options for languages lists Java and .Net.

Ok, .Net is not a language, it's a framework. C# ( & VB.Net) is the language.

Nor would I characterize them as "enterprisey," especially .NET. .NET is extremely accessible and .NET Core has virtually no barrier to entry--from tooling to supported languages to supported OSes. This meme needs to die.

Probably my filter bubble speaking but I know zero people who have ever deployed .net code on anything besides Windows or even working in a "mostly-Windows" shop.

There's a few Mono applications in Linux distros, but I think I can also count those on one hand.

So I'm not disagreeing it's possible, just very unlikely. (Even worse than PHP on Windows - sure, there used to be some high profile shops (5-10 years ago), but it always seemed like 10% or less. Also I'm not up to date on that regard.)

I suggest adding something about version control as well, Git being the recommended choice, GitHub, GitLab as recommended providers. Great article nevertheless.

What does HN think of Swagger? It seems to be the quickest way to prototype REST API, CRUD, and schema. It’s particularly useful when you have an SPA.

Swagger is great for both documentation and the client code generation. I use it to generate clients for inter-service communication as well as for SPAs (best with TypeScript).

It's really best when your backend framework typically generates the Swagger definition from your API code, though. Spring, APIStar, and others will do this.

If you're using TypeScript, also check out RESTyped: https://github.com/rawrmaan/restyped

I have literally just been putting together a list of things/topics to brush up on/learn over the next 6-12 months. So this is very helpful

Good list, though maybe auth types (16) should be looked into before creating an app that's gonna use authentication (9).

Nice list. Why not suggest Ruby as a beginner language though, it seems like a good choice...

It suggests "any of the scripting languages," of which Ruby is one. Are you saying it should specifically recommend Ruby over all the other scripting languages? Because, I mean, I like Ruby a lot, but I can't see any reason why you'd distinguish it that way.

And honestly, while it's my favorite, JS and Python are probably more practical at this point. Ruby doesn't have as strong of a use case outside of Rails, sadly.

"for the quick and easy, go with php or node.js"

i was responding to that comment, in the context of a beginner the quick and easy to me seems like ruby. maybe im wrong, to each their own

looks similar to the web developer in 2017 graphic, are the the same person?

you are also missing a big important part of being a full stack developer in 2018 and that is adwords and seo. Not being familiar with these topics will put you at a massive disadvantage in comparison to your peers and for your business.

Adwords and seo are really no concern for a backend developer

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact