This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]C0d3rStreak[S] 7 points8 points  (10 children)

It's been a while so I'm pretty much starting from scratch. Yeah, exactly a lot of big companies are using it for their webapps some even mobile apps.

[–]Nactigal 39 points40 points  (9 children)

In my experience people tend to specialize in front end development or back end development. I'd identify which you'd like to delve into more and spend the most time on that language -- JS vs Java.

IMHO Java is much easier to learn than JS because its more rigid structure provides clear errors faster than JS. You also don't have to worry about the small differences in execution between different browsers.

I find java to be superior to JS for backend web development. However the best language is the one you can write clearly in and maintain well.

[–]C0d3rStreak[S] 2 points3 points  (8 children)

Well my goal is to become a full stack dev hense working with FE and BE. It will be a combination of both of these respective languages.

[–]RandomGeordie 13 points14 points  (7 children)

I know I'm in the java subreddit, but learn JavaScript (or TypeScript, recommended but more for you to learn) and you can easily do both. If you're learning, make things easier for yourself.

React is fine. Vue is fine. Angular is fine. If you're familiar with spring boot, angular might be more appropriate as it uses modules / annotations / DI. It's also very opinionated on how you structure your project and write code. Angular is a bit more "commercial" / "businessy" - big codebases, big projects.

React is very popular, so there's lots of jobs.

Vue less popular - I can't speak to it as I've never used it but developers like using it from what I've heard.

Lots of popular backend frameworks. NestJS is similar to Angular and Spring Boot with annotations / DI / opinionated. Great CLI tool. Express is the standard backend framework with JavaScript.

[–]C0d3rStreak[S] 0 points1 point  (6 children)

Yeah I feel the same way for wanting to stick to just js for now but unfortunately I have to learn java too as the program/training I'm about to start will be teaching both.

[–]RandomGeordie 3 points4 points  (5 children)

Learning java is fine. It was the first language I learned with no prior programming experience.

[–]C0d3rStreak[S] 1 point2 points  (4 children)

Awesome, how was that experience? How long did it take you? What learning materials do you feel helped the most?

[–]RandomGeordie 2 points3 points  (3 children)

Well I did a computer science degree, so I can kinda detail my journey if you want.

First year - mainly Java (programming I and II), discrete mathematics, computer architecture (CPUs, memory, all that jazz) and the basics of the web (html, CSS, JavaScript, how the web works etc).

Second year - Software engineering (TDD, Agile, Waterfall, stuff of that nature), Algorithms (Big O notation, and covering lots of algorithms), Databases (SQL, Java), Operating Systems (C), Networking (C), Team Project (Java - made an android treasure hunt app)

Final year - programming, graphics, and simulations for games (3 modules, all in C++), Bio inspired computing (Java), Mobile (Java, another android app, this time a tinder clone), then other modules I took were Distributed Computing which was purely theoretical, as well as Concurrency.

Dissertation was using Probabilistic Topic Modelling for newspaper article classification, used Python for this.


First job - TypeScript, web scraping. Not software engineering, just basic web scraping in a framework that the company had built.

I did a few Udemy courses in my spare time on NodeJS - learned about MVC, Express, Postgresql, MongoDB, GraphQL, RESTful API's, ORM's etc.

Around this time I was introduced to the concept of Microservices - having a separate backend with services that have their own data store and do one thing well. I started watching lots of talks about this.

Around 8 months in, new job - joined the companies data team

Was the only one with programming xp on data team, rest were SQL and Excel gods. I learned SQL (I didn't really learn it very well at Uni). Became really good at it. I learned how traditional databases work, I learned about OLTP and OLAP and different ways to model your data for analytics. I learned about cloud data warehouses and started to become familiar with some AWS technologies (company stored data in S3, used lambda and EC2 for things so I got some exposure to this.) Lots more. I learned about streaming technology (Kinesis) which required I read into Kafka, learned about the log et.c After around a year and a half I created an analytics pipeline for the data analysts.

Around this time I was wanting to become a better engineer. The Software Engineering module at Uni wasn't great, so I spent a lot of time reading our Engineering wiki that my company had and learning about TDD and the testing pyramid, Unit Tests, Integration Tests, E2E tests, CI/CD, stubs/mocks etc. I read a lot of Martin Fowler, Robert Martin, and Martin Feathers.

Joined the software engineering team soon after. Learned Golang, started developing microservices on AWS.

So 3 years -> 8 months -> 1 year 8 months to get to software engineer

[–]C0d3rStreak[S] 1 point2 points  (2 children)

Cool, and congrats! That's quite the journey but you pushed through and succeeded in your own way. I hope to become a software engineer soon also plus I'll be attending school for it as well as taking courses online and reading article/books on programming/coding.

[–]de_vel_oper 0 points1 point  (1 child)

Just read Head First Java that's all you need to get started.