Hosting & Domaining Forum

Hosting & Domaining development => Programming Discussion => Topic started by: BluellFrono on Nov 08, 2023, 12:37 AM

Title: Diving into Java Programming
Post by: BluellFrono on Nov 08, 2023, 12:37 AM
I understand that these issues are often discussed on all development-related platforms, but I still wanted to share my own situation. I appreciate everyone who takes the time to read my message, and a special thanks to those who comment, advise, or criticize. I apologize in advance for the length of my message.

(https://fiverr-res.cloudinary.com/images/t_main1,q_auto,f_auto,q_auto,f_auto/gigs/332762942/original/9c52ee38d2154532162558547ff306092760cbd4/do-java-programming-java-projects-and-java-applications.jpg)

I've decided to delve into studying programming languages, specifically Java. I'd like to hear your opinions, criticisms, or advice.

Here's some background: I'm 30 years old and live in Canada. My first field was not related to IT (language/legal), but then I switched to Interactive Multimedia Development for the Internet + Information Security. I've studied in this field for 2.5 years, covering PHP, MySQL, CMS, JS, HTML, CSS, Action Script, Media Editing, Design, Networking, PenTesting, Access Control Tech., CISSP Preparation, InfoSec Management, Project Management, Strategic IT, as well as independent projects involving Linux and Raspberry Pi.

I've been using computers since I was 12, starting with a 286 and a modem at 2400 baud. I used to own a Dial-up BBS, and I also coded in basic, pascal, and delphi, albeit at a school-level programming circle.

Currently, I work in Marketing / Tech Support departments for a large game development company, where the main technologies used are C++ and Lua.

My goals for learning programming include exploring a career in this field, gaining experience for roles like Information Security or Project Management, taking freelance jobs, developing small applications, working in a developer position, and participating in interesting projects such as openworm, drone autopiloting, neuro-interfaces, and image recognition.

I chose to focus on Java instead of Python, C#, JavaScript, Ruby, or PHP for several reasons, including its average entry threshold, job opportunities, universality, availability of educational materials, and development for Android.

I've set specific and achievable goals for myself and hope to make progress within a realistic timeframe. Let's continue the discussion on this topic. Thank you for your attention to my message.

Feel free to share your thoughts on this and suggest any additional resources or tips based on your experiences. I believe that exchanging ideas and experiences can greatly benefit everyone who wants to pursue a career in programming.
Title: Re: Diving into Java Programming
Post by: AaronSowerby on Nov 08, 2023, 01:54 AM
Since you're aiming to explore career opportunities in information security or project management, gaining expertise in Java can certainly open up new paths for you. Additionally, with your interest in developing small applications, working as a developer, and participating in intriguing projects, Java's versatility and widespread use in different domains like Android development make it a suitable choice.

In your pursuit of learning Java, you might want to consider resources like online courses, coding platforms, and community forums where you can engage with fellow learners and experts. Additionally, leveraging your existing knowledge and experience in IT, networking, and multimedia development will give you a unique perspective as you transition into programming with Java.


There are various online resources that can help you in learning Java and expanding your programming skills:

1. Online Courses:
  - Coursera: Offers courses from top universities on Java programming.
  - Udemy: Provides a wide range of Java courses, from beginner to advanced levels.
  - Codecademy: Interactive platform with Java courses for hands-on learning.

2. Coding Platforms:
  - LeetCode: Offers coding challenges and exercises to practice Java programming.
  - HackerRank: Provides coding challenges, competitions, and tutorials in Java.
  - Codewars: Platform for improving your coding skills through Java kata exercises.

3. Community Forums and Resources:
  - Stack Overflow: A popular Q&A platform where you can find answers to Java-related questions and engage with the programming community.
  - Reddit (r/java): Active Java community for discussions, sharing resources, and seeking advice.
  - Oracle's Java Tutorials: Official tutorials and dоcumentation provided by Oracle for learning Java programming.

These resources can offer structured learning, practical exercises, and opportunities to engage with a community of learners and experts. Additionally, exploring GitHub repositories for open-source Java projects can provide hands-on experience and insight into real-world applications of Java.

When diving into Java programming, it's important to grasp the fundamental concepts of the language before moving on to more advanced topics. Here are some additional resources and tips to help you on your journey:

1. Books:
  - "Head First Java" by Kathy Sierra and Bert Bates: This book provides a comprehensive introduction to Java programming with a focus on object-oriented design principles.
  - "Effective Java" by Joshua Bloch: A must-read for understanding best practices and idiomatic Java programming.

2. Practice Platforms:
  - Exercism: Offers Java exercises and mentorship to improve your coding skills through practice and feedback.
  - CodingBat: Provides Java coding exercises for beginners to sharpen their programming abilities.

3. Online Communities:
  - Java Ranch: An active online community for Java programmers where you can discuss Java-related topics and seek advice from experienced developers.
  - GitHub: Explore open-source Java projects, contribute to existing ones, or start your own project to apply your skills in a real-world context.

4. IDEs (Integrated Development Environments):
  - IntelliJ IDEA: A popular IDE for Java development with strong support for code refactoring, debugging, and integration with build tools.
  - Eclipse: Another widely used IDE for Java programming, offering a rich set of features and plugins for software development.

As you progress, consider working on small projects to apply what you've learned. Building practical applications will reinforce your understanding of Java concepts and prepare you for real-world scenarios.
Title: Re: Diving into Java Programming
Post by: johnmart1 on Nov 08, 2023, 03:33 AM
Freelancing is mainly about working on projects alone or with just a few people involved. The range of activities in Java is vast, from writing drivers to applications for SIM cards. Therefore, it's not fair to insist on learning a specific framework without first deciding on the area of work.

Security in programming is important and depends on the scope of application. For instance, in web development, there's a golden rule that "the user always lies," highlighting the need for security measures. However, if you're creating a console utility like a converter, the requirements will be different.

As for the freelance market, there are platforms like oDesk, Freelancer, and others where you can find projects. However, it's worth noting that Java is not as commonly used in freelance projects.

Freelancing is actually more challenging than traditional employment because it demands self-discipline and growth without a team. The work isn't permanent, and success is not guaranteed. It might be wiser to aim for internships to gain knowledge instead of immediately pursuing freelance work.

P.S. It's important to carefully consider the transition from learning to working as a freelancer.
Title: Re: Diving into Java Programming
Post by: OventeeVole on Nov 08, 2023, 05:06 AM
Java for freelancing might not be the best choice, unless you're dealing with Android. I'm not saying that it's not feasible, but the reality is that most Java projects are not commonly used in freelance work. As a freelancer and Android developer, this has been my experience.

When deciding which direction to pursue, particularly if it's Android, having a solid understanding of Java basics, such as object-oriented programming, collections, and how to avoid common mistakes will serve you well.

On the other hand, Java for web development presents a completely different set of challenges. Personally, I recently started learning Spring framework myself while working on various APIs. Interestingly, I eventually found myself drawn to PHP, as it resonated with me on a deeper level.

As for JavaRush, I can't speak much on the paid option that involves team assignments, but I would caution against wasting time on it if it feels like an arduous chore. When it comes to students, dedicating time to them may not be very effective in terms of gaining practical experience or financial reward.

On the topic of freelancing, have you considered employment in local offices? Working with a team can often lead to faster professional growth.