DEV Community

Should I become a Front-End or Back-End developer?

Vincent Milum Jr on December 26, 2020

This is a post that I've been meaning to write for quite some time now. The question of "Should I become a Front-End or Back-End developer" pops u...
Collapse
 
funbeedev profile image
Fum

Very well said. It seems the default path for any new developer these days is front or back end development or more specifically, web development. Maybe for people new to coding they aren't aware of all the different fields programming is used for..

For anyone new to coding I encourage to first spend some time exploring the different possibilities as mentioned in this article. It would be nice to see more people interested in Embedded programming :)

Collapse
 
darkain profile image
Vincent Milum Jr

Yes, exactly this!! In my spare time, I absolutely LOVE playing with Arduino compatible microcontrollers. I have a whole fleet of ATTiny85, ATMega328, ESP8266, ESP32, and ARM based boards to tinker with.

Due to all of my work in this field, at one point I was in the running for a position as a BlueTooth firmware engineer. This is one of those types of dev jobs nobody talks about, but is full of awesome things. A lot of BlueTooth devices are either media, video game, or toy related. Its all super fun stuff! :D

Collapse
 
theowlsden profile image
Shaquil Maria • Edited

Thanks for writing this article, in my opinion this is a very needed discussion to be had with new developers. Over the last months, all I see is articles about frontend development and sometimes backend, but guess what in JavaScript. I think that over the years, as things started to shift more towards web, the younger people started seeing that as the only field that is important, but they fail to recognize that while yes, there are a lot of websites and web applications being published everyday, there is a whole world of interconnected parts that make it possible to use these web apps. I highly encourage software engineers and enthusiasts that work on every other part of the technology ecosystem to share their experiences and shine a light on their work.

Collapse
 
darkain profile image
Vincent Milum Jr

So much of this!!

I personally work for a global telecommunications company.

Other devs see a nice simple web API to send data, and think it just automatically "works"

That other company that produces that API end point then accepts the data, and relays it to my company to handle the global transport routing. My company then forwards that data off to the desired destination company, who then processes that data and sends it to the appropriate endpoint device within their network.

Out of all of this infrastructure, maybe 5% was actual "web" based (the HTTP end point for the initial API call). None of the transport across the various networks otherwise was.

But these are the things that are hardly talked about. No buzz, no hype.

It would be cool to get more people interested in this type of tech though!

Collapse
 
theowlsden profile image
Shaquil Maria

When I did my internship at a local company that creates solutions for telecom and other sectors I realized how many, let's call them transactions, take place outside of web realm. Even though I created a web interface for their solution as my internship project and did not interact much with other tech, I came to appreciate the world of tech besides web.

But these are the things that are hardly talked about. No buzz, no hype.

Facts, and I think this is because of the complexity of things, we need to find a way to create hype about complexity in software development.

Collapse
 
bendtherules profile image
Abhas Bhattacharya

Sorry, but it seems like a fluffy post to me.

  1. Author has not named any of those areas of work - so you can't really search for one of those paths or visualize a career path. Most of them would fall somewhere between a Systems Engineer and some specialization of Hardware/Electronics engineer.

  2. Most of the job openings are nowadays in frontend/backend role - which i think is the main reason why people think of these 2 paths. Backend/SDE engineers can then work on some of the system-level stuff depending on the company and requirements.
    If you want to stay in a specific specialization like mentioned in the article, research the job market first.

Collapse
 
darkain profile image
Vincent Milum Jr

This was all addressed in the initial post.

These jobs do indeed exist, but they're less common, thus they generally pull a higher payout. Why? Because they're harder to fill, because there are less candidates applying for them. But this also means there is less competition, so the jobs tend to be easier to land.

As far as hardware/electronics engineer. Yes, a couple of the examples could be labeled as such, but that's missing the overall point of the article. Countless other examples in the article talk about tools developers, library developers, component developers. This is all purely software. But that still defeats the entire point, which is to look at the entire world around us, and see how much of it is handled by code, and exploring the possibility of being that person who writes that code.

The article is a thought experiment, not a technical resource guide on how to find one particular job.

Collapse
 
bendtherules profile image
Abhas Bhattacharya

Won't most library developers (working in a company) have a title very similar to SDE?
By backend role, SDE is the position most people refer to - which has a familiar recruitment process and then you might land up working on some library. Its very hard (i would imagine) to plan your whole career exclusively as a library developer.

The point i am trying to make is - many of these are sub-track of backend developer track, because of how recruitment process works. Sure, it's good to think about them, but very hard to plan your career around one specific sub-track.

Thread Thread
 
darkain profile image
Vincent Milum Jr

Not necessarily. For instance, in my current role, I'm the lead database administrator for a company. Nowhere in the job description or hiring process was programming apart of it. However, the role was mostly open-ended to "solve things as you see fit". There were some internal tools already in place, as well as 3rd party tools. I lead the initiative to replace the external tools with internal tools that better met the company's need, as well as re-write the internal tools. This lead to the creation of some re-usable libraries that are now available to other teams.

And this is a trend I've repeated countless times in the tech industry. My first "real job" ~16 years ago, I was hired to simply do data entry for an early ecommerce company. I wrote some code there to automate most of the process.

None of this is what would traditionally be thought of as "back end" development, as none of this had anything to do with web dev at all. These would be more categorized as "process automation" which historically landed under titles such as Systems Analysis and Design.

There are many paths to becoming a dev, and many destinations that are not even remotely related to web dev. :)

Collapse
 
darkain profile image
Vincent Milum Jr

I'm going to go out on a limb here and say it isn't a lack of interest, instead, it is a lack of insight into the alternative even existing. People don't know what they don't know. Without active discussion around these other areas within our fields, there is limited ways to discover them. Web dev has a lot of hype, buzz, and discussion right now, so discoverability is easiest.

I've now made it my goal to try to push discussion of these other areas of development as much as possible, this article being the first of that push :)

Collapse
 
jeffbbz profile image
jeffbbz

I don't think the problem is the person just starting out or looking to learn. Personally, I'm far less interested in webdev front/back end than I am in embedded software/firmware, OS development, and desktop apps for video editing/gfx/manipulation of video. Those are the things I want to get into. But everywhere I look I can only really find webdev stuff. Most bootcamps are focused on that, most teach yourself paths are focused on that. Is there an Odin Project for this? Is there something less guided but still follow-able? If so please point the way!

Collapse
 
darkain profile image
Vincent Milum Jr

Oh most definitely! Instead of looking for "development" tutorials, try searching for IoT (internet of things), arduino programming, raspberry pi programming, video game programming, or systems programming.

Over in the FreeBSD community, we have a discord and several IRC channels dedicated to different topics, including programming in general (not specific to FreeBSD). Please feel free to join and start chatting away! :D discord.com/invite/n2wshsy

Collapse
 
inaju profile image
mitchel inaju

Thanks for writing this, I've been opened up more to possibilities that exist and to embrace solving problems in other areas

Collapse
 
darkain profile image
Vincent Milum Jr

Awesome, glad to hear it! :D I hope to see great things come out of this. :)