4 ms·
Actually, programming is just a small part of the product development process. A huge amount of work is spend on communication, architecting, planning, gatherin
by real_ben_michel 6y ago
Actually, programming is just a small part of the product development process. A huge amount of work is spend on communication, architecting, planning, gathering user requirements, maintenance... Then you need deep knowledge of the technical domain. In that regard, I would say FE and BE differ tremendously. The constraints are different, the people with whom you engage are different, the objectives are different. It won't be very obvious in small companies and young product teams where everyone does a bit of everything. As things scale up and gain maturity, people have to specialise, and it becomes very hard to be the best at both. You have to pick: making great UI components, or storing data optimally. You can be average and do a bit of both, but if you want to be an expert engineer, you'll need to specialise in one (which is what I think d--b was referring to).
- Silhouette 6y agoOf course there are many other skills involved besides programming, but I don't make the big distinction you apparently do. For example, the part about storing data optimally is going to be handled by the database in most web applications, and using that tool well is a distinct skill set from both front- and back-end programming. Indeed the latter two have far more in common than either has with designing an efficient database or optimising queries that access it, or with designing a good UI for that matter. At the very top of each field, sure, there will always be those specialists who live and breathe that subject and can do the things no-one else can, but most people will never achieve such proficiency in any field during their career and most businesses will never hire anyone on that level, so I'm not sure it is going to generate much insight to talk about extreme cases. For anything below elite levels, you certainly can have the same person with expert skills in both front- and back-end dev, or in back-end dev and DB admin, or in front-end dev and UI design, or just about any other combination of relevant skills.