After doing these exercises here in FCC one tends to find things they enjoy, things they don’t enjoy… their natural interests and proclivities in regard to coding and programming.
I’ve also found I don’t really like creating content and making it look good using HTML and CSS. I can do it but its not as rewarding for me. I don’t really have an eye for what looks good.
If so would this even be advisable for someone like me to pursue something like that?
Any comments/input from people actually working in the field would be appreciated.
I think it is definitely possible to have a fulfilling career focusing more on the “non-user facing” aspects!
Take a look at back-end roadmap: https://github.com/kamranahmedse/developer-roadmap
The awesome part of this field is that there are so much depth that you can become expert on pretty much anything and make a living!
HI, if you like Java Script, but you don’t want to work with HTML an CSS to make front end interfaces, you can learn Node.js.
You can do a lot of things like make public APIs, for example.
I’m working on a project with no HTML and CSS. It is a service API to receive content from another system and publish the content to Websites and social networks.
Thanks for the roadmap link and the encouragement! Seems to be alot in there and I will have to take some time and dig in eventually. If I do decide to pursue back-end development work is it advisable to just study that and not worry so much about HTLM and CSS so long as I have a basic understanding? Do employers hire entry level back-end people with little to no real world work experience in the field? In my mind it would seem easier to find entry level work doing HTML/CSS. Then after gaining some work experience try and pivot to back-end development. But if there is a way to avoid this all together I’m all ears.
Not necessarily. Lots of software is run through a web interface. I’ve worked at a couple companies where my job was developing a web based UI for controlling specialized hardware. If there’s a designer, they would be called a designer. The developers who build the web application might be called “web developers”, “UI developers”, “software engineers”, etc.
As mentioned above, back-end is where you can manage the most JS, and less of the html+css issues. Being a web developer comes with some HTML+CSS work no matter what. If you don’t have any, you essentially have no “website” or UI. This might popup here and there, but there’s going to be some user interaction at some level somewhere.
Its fine to be specialized, but yes you need to be better than average if your a specialist.
The other thing I would like to bring up that adds weight to the “I’m just the backend guy” idea is that learn a database technology, either SQL or NOSQL, or both if your ambitious. Know how to build a scalable express app, with a well designed SQL database so you should have enough experience to get going if the right job pops up.
I believe the influx of front-end developers will warrant some need for newer backend developers, but since most of the risk of most applications is on the backend you usually would want to invest into the better backend developers. So it wont be as easy as starting out as a front-end dev.
Finally, I would consider pushing through HTML+CSS. Either use a crutch like bootstrap, or some UI framework to help you along so your not fiddling with just CSS classes all day, and or pick up a framework like React which is in demand. Focusing on full-stack where you lean more toward back-end puts you in a great position to just become “the backend guy” after you prove yourself.
PS. I started as a front-end guy, and migrated to the back-end out of necessity, knowing JS well and database design really helped with the transition.
Seems like the consensus is even if you don’t like HTML and CSS just suck it up and learn it because you will be expected to know it if you work in back-end anyway. And if you want to position yourself into back-end work learn additional things like Node.js, database technology, .Net… (BTW these terms are basically Greek to me at this early stage).
If you enjoy JS, you could also pick up a new language and delve deep into your data structures to focus more on a position in back end. Not only don’t you have to stop with JS, you’ll find that learning new languages will be easier than your first…and you might find one you like even more.
Ditto. Most big companies have designers though, so you pretty much get a design and get told to do it. Beauty is that somene else will probably enjoy css more than you, so they can do that stuff and you can focus on the JS part or maybe the backend stuff with C# / NodeJS.
The goal should however be to get a fullstack position, so it’s good to learn everything. Even if you don’t focus that much on CSS right now. CSS and JS goes hand in hand for the front-end part. But you can write pure JS in the backend and then you won’t need to style anything, it’s just handeling routes, requests and data.
This is all great stuff, thanks for the inputs!
@cndragn Would you suggest a language I should learn next? All I’m familiar with at this point is HTML, CSS and JS. What do you think of node.js? It would seem the logical next choice.
@Ronnehag Why do you say the goal should be to get a fullstack position? Is it because those positions are more accessible to entry level people? It seems like most people are saying that to get a position in backend work you need to have experience and the best way to get experience is by working in the front end and slowly positioning yourself into back end work. Does that sound right to you?
@psychometry If I decided to pursue Data Science or DevOPs would I need a degree in those areas to be able to land an entry level job? My goal is to avoid going back to school. I have a B.S in Mechanical Engineering already and it hasn’t done me any good.
On a related note I have recently been accepted to a local University. I work full time so I would only be taking a course or two remotely to begin with. Plus I’ll only take these classes if it can be done on the cheap. I already have plenty of credits so I might not be that far off from a more valuable degree.
If you all had to recommend a degree/major to pursue that would compliment my goal what would it be?
My goal: To find a job where I can work remotely doing back-end coding. (Yes I know this seems to have changed slightly since my initial post but it’s just coming into focus better as a result of all of your collective input.)
Well, actually those areas are somewhat abstract and new, therefore a lot of school don’t even have established curriculum to offer a degree for them. You should google these term and dive more into it if you are interested, I am just offering you more options beyond back-end, front-end and full-stack.
Data science can vary, there are some job that actually require master/phd level of knowledge, and some that only require domain knowledge. Data Science is really about applying some specific fields of math, like Statistics and Linear Algebra, which I believe are requirement course for most engineering degree, and domain knowledge to generate analysis using some programming know how.
It’s a very broad field that need people with different specialization, from people that build the infrastructure for data to people that create tools and analysis base on the data to people that specializes on presenting the data. You don’t have to go back to school, but you will have to dedicate yourself in learning the fundamentals through online resources, not unlike what you are doing with free code camp for web.
DevOps engineers are kind of like infrastructure architect and maintenance for developers. It is about creating automated system and structure that enable developers to skip as much of the repetitive task as possible and enable speedy and smooth delivery of product. They have to be knowledgeable about coding as well as all these other set of tools like networking, virtualization, cloud computing, security…etc. It’s not entirely coding, while there are often scripts you have to write, really the job is about organization and communication and a lot of technical know how.
Whatever catches your fancy honestly… if you know your data structures and algorithms, it doesnt matter what language you already know…if a company uses a different language, you’ll be able to pick it up without much of a problem.
Personally, I get bored and just take a course in whatever catches my eye…started with JS because of FCC, but I took the CS50x course and became familiar with C, learned Ruby in bootcamp, did some projects to get familiar in Python, just did an apprenticeship where I learned C#. Once you delve in you’ll see…once you know the logic, learning a new language is really just a matter of learning a new syntax.
Personally, learning Node was a logical next step since Im primarily front end…node is kind of like the next step for someone who wants to take front end into full stack dev. But if you know you dont want to do front end, then dont limit yourself just because what you know now is html/css/js… theres nothing saying you have to continue down that path.
This wasnt directed to me, but my take on working front end and slowly moving into back end… no way, its not like some sort of path where you must start at A then move to B…C…D. They are different paths that intermingle…if you dont want to do front end, dont. Focus on back end. Now, if a front end position opens up to you, get your foot in the door and work on getting into a back end position, but you dont have to do one as a prerequisite to getting to the other.
As far as a degree, I suggest CS hands down to be in this field. Sometimes I see an engineering degree as a possibility, but CS is the main one. Right now Im focused on finding full time work, but my life would be immensely easier if I had that degree. Besides that, CS as a topic is something that interests me, so its not just about the paper, I really would enjoy it.
Oh, about DevOps…the first job offer I ever had was for a DevOps job. I didnt even know what devops was…someone referred me to the company, because of the personal recommendation they interviewed me…I spent the whole weekend researching it…starting with “What is devops” cause I had no idea…at…all.
I didnt take the job because another opportunity came up at Microsoft. There, I did a course in Azure, DevOps is just something that devs do as part of their workflow. I was horrified to find out we have to write our own tests…I hate writing tests lol But In 6 months time, I went from having no clue, to now I do CI/CD on all of my personal projects, know Azure DevOps like the back of my hand, want to get familiar with AWS, because…why not. Thing is…while its a specific job, the bigger picture is…its just a manner of doing things. DevOps isnt a title really, but a method.
But yeah, getting a job specifically in DevOps is not much coding really, besides writing automation logic, but once all that is set up, theres not much else to write. If done right, most of it will be maintenance and tacking any issues if something goes wrong.
Why do you say the goal should be to get a fullstack position? Is it because those positions are more accessible to entry level people? It seems like most people are saying that to get a position in backend work you need to have experience and the best way to get experience is by working in the front end and slowly positioning yourself into back end work. Does that sound right to you?
The goal should be to learn everything, you will be more valuable for an employer if you can work on both the front end and the back end. This will also increase your salary and lead towards starting your own business.
At first you can focus on the thing you like the best, if it’s front end or back end. But eventually your goal should be towards full stack.
To be a good developer you should at least have good understanding of the whole process from back to front. Even if you are more specialised at one side. You don’t really need more experience to work in the back end, it’s just a preference of what you enjoy coding.
Haha, my role is exactly opposite of yours…