Live data from Hacker News

Developer Roadmaps

roadmap.sh

131–139 of 139 posts

Re: Developer Roadmaps

#131
post #11

Earlier quoted context omitted.

I could condense that down to a single task that will get you 90% of the way there: Learn how to bit-bang a serial interface on two different microcontroller platforms.

Claiming a serial interface task will equip you with 90% of Embedded Systems is the biggest disrespect of a profession I've ever encountered. To outsiders, the field might be regarded to be just a microcontroller playground. But the spectrum of hardware design and programming in the field is at an unprecedented levels. PCB design, power supply, SoCs, SBCs, FPGAs, peripheral interfaces, Embedded C and Linux software d…

This is an overreaction, and really not a very nice way to interact with people.

I was talking about embedded development which doesn't really have anything to do with PCB design, power, FPGA, etc. You don't need those things to be a programmer working on embedded systems or microcontrollers.

Implementing a serial interface in software flipping GPIOs up and down will expose you to a whole lot of the necessary ecosystem and if you can do it, you're well past the point where you should be able to get paid to do it and the point where you need a roadmap to tell you where to expand your skills. I didn't say doing it would get you a senior level position or a masters degree in EE.

Re: Developer Roadmaps

#132

Earlier quoted context omitted.

Yes, but the current version of the roadmap makes it seem like NoSQL databases are way more important than they are (IMHO). I would say a junior backend developer needs to know about web servers, REST, AuthN/AuthZ and even Docker way before they need to know about NoSQL.

I'm interested as to why junior developers even need to learn Docker. I'd say learning Docker would be a "nice-to-have," but you can go years, or even forever, without having to deal with it, or even having a need for it. I'm not saying learning Docker is fruitless, just that Junior Developers might not get enough out of learning Docker to put it in good use. As for NoSQL. I'd say that definitely should be on the roa…

Using docker force you to declare step by step what you need to build/use your code. If you combine that with good CI/CD, that easier to provides help to the junior developer if you can quickly reproduce the environment.

I had a bad experience with a project that I was assigned to "help". The build steps documented used incompatible lib version. It's hard to help if you can't even build/run their codes.

Re: Developer Roadmaps

#133
post #12

Hey guys, I am the person behind this website. Please know that it is still in progress. I wanted the initial version out so it is just the "roadmap" images for now. However, I am working on making these roadmaps more accessible for the beginners and easier to contribute to. In the list of things planned for the coming week is the textual version for each with different sections (job-ready, intermediate, advanced, ov…

IMO, you could put Remote Procedure Call (RPC) technologies such as gRPC for backend developer.

There is also Wildcard API [1] for Node.js

[1]: https://github.com/reframejs/wildcard-api

Re: Developer Roadmaps

#134
post #15

Earlier quoted context omitted.

Definitely a great idea. gRPC has been a huge benefit for us. I'd also get rid of learning NoSQL databases. It's good to know but in 99% of situations you should be dealing with them especially not before you learn about things further down the list like Docker, RESTful APIs, Auth, etc.

NoSQL is not less important than others. Especially not with the rise of many startups that want to scale and want their sites to be lightning fast (e.g. available at the edge). Many companies I worked lately actually thought the non-traditional databases are becoming more important. Also distinguishing NoSQL and SQL is quite old and still dating from the CAP theorem which is also becoming obsolete. You have traditio…

"becoming the new SQL quickly" - Prisma, who led the way on that front, abandoned this pursuit.

"Learn GraphQL" - I'm not sure you need to learn GraphQL. You need to now that GraphQL is a powerful tool for APIs consumed by third party devs, such as the GitHub or Facebook API. But for internal APIs (and more than 98% of APIs are internal!), GraphQL (and even REST) is overkill and you'd be better off with RPC, such as Wildcard API [1] or gRPC [2]. Many developers will never have to build a GraphQL API in they entire career. Only few companies need to expose their data to third parties.

[1]: https://github.com/reframejs/wildcard-api

[2]: https://grpc.io/

Re: Developer Roadmaps

#135

Earlier quoted context omitted.

I'm always impressed at my primary care doc's breadth of knowledge. Whatever the topic (knee injury, heart rate, asthma...), he has working knowledge at easy recall, which he augments by consulting electronic reference materials during appointments—all while staying engaged with the patient (me). This is all in the context of a standard physical, and often the subjects (such as the knee injury) haven't been mentioned…

Is he a GP or a Specialist? From what I know, the list of best Doctors is full of specialists, not generalists. I am yet to hear someone recommending a General Practitioner because they have broader knowledge. It is always Specialists who are focused on one domain and one domain only. Not saying specialists don't have knowledge about other things medical-related. They do but their knowledge is limited. Just like my k…

He's a GP.

BTW, my career has been focused on development, but I still try to maintain enough knowledge that I could jump in at any point of the stack and be useful.

Re: Developer Roadmaps

#136
post #18
post #11

Earlier quoted context omitted.

Claiming a serial interface task will equip you with 90% of Embedded Systems is the biggest disrespect of a profession I've ever encountered. To outsiders, the field might be regarded to be just a microcontroller playground. But the spectrum of hardware design and programming in the field is at an unprecedented levels. PCB design, power supply, SoCs, SBCs, FPGAs, peripheral interfaces, Embedded C and Linux software d…

I interpreted the parent comment as do all of the parts yourself. Pick microcontrollers, design the PCB with power supply, find the right toolchain for both microcontrollers and implement serial communication. Which is almost 90% percent of the job. Also, does FPGA come to mind when embedded is mentioned? I always assume that FPGA is a whole another subject (only FPGA not the board part).

> always assume that FPGA is a whole another subject

This has been my assumption as well. I looked a while back at learning FPGA development because it seemed rather interesting, but quickly decided to go another route after seeing and talking to some FPGA guys. From what I saw it does not in any way resemble what I'm used to as a software developer

Re: Developer Roadmaps

#138
post #109

Earlier quoted context omitted.

If they don't have any respect for their users I guess.

Only if by users you mean people living in the terminal. Yeah, those people hate GUIs, compositing desktops and anything more than monospaced text. Just whisper "Emoji" in their ear and witness the Wrath of Khan unleashed. I would say exactly the opposite, not using web-tech for GUIs is disrespecting the users, because the end result is an ugly app with a lot of missing features (gif/image/emoji support for example).…

I don't want gif/image/emoji support in 100% of the apps I use, so this point is silly. I dislike Electron apps because they tend to break with the OS UI and force whatever the developer thinks I want on me. I don't. Stop it.

Re: Developer Roadmaps

#139

Earlier quoted context omitted.

But even a lawyer specialised in criminal law will have gotten a broad education in contract law, property , civil procedure. In my engineering school, mechanical engineers were taught the basics of electrical engineering. There is a lot of value in gaining a good amount of breadth before specialising, even if just to ease communication with specialists of adjacent fields.

The best people in every field are people who are focused on one aspect and one aspect only. Linus Torvalds only focus on C programming and kernels. If you judge him based on these lists, he will be regarded incompetent because he can't do UI and is proud of it. He doesn't even try to learn the basics about it because he has his speciality and do it very well. Lionel Messi doesn't try to be the best header or best de…

Linus Trovalds didn't just create a kernel but also a version control system and even a scuba diving planning tool (https://en.wikipedia.org/wiki/Subsurface_(software)).

In the latter, he also touched some GTK code: https://github.com/torvalds/subsurface-for-dirk/commit/c0adf...

Trovalds has much more breadth than you give him credit for.

Post reply on HN