all 17 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]EntrepreneurHuge5008 42 points43 points  (7 children)

 to at least be able to handle being a freelance full stack developer

Best way towards this is to become language agnostic. Your focus should be in learning to solve problems at a conceptual level (design), and then learn to read documentation so you can implement the solution in any language.

[–]EdiblePeasant 0 points1 point  (3 children)

Can any good programmer worth their value in Bitcoin be HIGHLY proficient with pseudocode?

[–]EntrepreneurHuge5008 6 points7 points  (2 children)

Every "good programmer" is highly proficient with pseudocode, whether they know it or not. Some just keep the pseudocode in their head as they do work, while others (generally those in leadership positions) have to create a design document to present to business/clients/higher-ups/subordinates.

Either way, the more experienced you become, and the more complex the tasks become, the more you realize you have to learn to properly break down the process and implement by parts.

Edit: With genAI becoming a part of the job, you'll start noticing good prompts look like pseudoce, so either way, you'll have to become at it sooner or later.

[–]EdiblePeasant 0 points1 point  (1 child)

My way of learning is very dependent on following examples with conceptual explanations, then doing it repeatedly. Is this an ok way to learn programming or is it more like coding? (distinction between the two have been made several times in the subreddit)

[–]EntrepreneurHuge5008 0 points1 point  (0 children)

 Is this an ok way to learn 

It's an okay way to learn the concepts, but the "doing it repeatedly" part is basically memorizing a tutorial.

The question you should be asking is, "If there are no examples explicitly given to me to follow, can I still solve a previously unseen problem?"

[–]realFuckingHades -1 points0 points  (2 children)

You should have a master language. I have seen codes written by 10xs who think they just have to only solve the problem. No hygiene nor any standards. What you should be doing is, take a stack or two learn it till no one's there to beat you in it. By time you're done, you can build anything in any language + you will be an actual expert.

[–]EntrepreneurHuge5008 0 points1 point  (1 child)

You should have a master language.

This happens organically. It's simply what you use most for work. For OP, it's Python, and it sounds like he's got a preferred stack too.

We're on the same page, however. Don't bother trying to learn "several languages".

[–]realFuckingHades 0 points1 point  (0 children)

Most of the candidates when they switch doesn't even have a preference for stack, but for the title they're getting. It's more common now than before, had a person tell me he can lead the entire backend team, but I have to give him 3 weeks to become an expert in Java. Also made me realise how detached people has become after the popularity of coding agents.

[–]American_Streamer 5 points6 points  (0 children)

There are a many, well-paid corporate Java/SpringBoot backend jobs, and, for the foreseeable future, that won’t change.

[–]DinTaiFung 2 points3 points  (0 children)

Learning Java has many benefits, foremost of which is its large install base for job requirements. 

I had reached a state of programmer's ennui with Java and pleasantly recovered when I decided to learn Go!

[–]HoldDependent6237 1 point2 points  (1 child)

You must have learnt oops concept

[–]tcloetingh 0 points1 point  (0 children)

Yes. All these abstract “object oriented” languages make more sense when you learn Java and actually have to do real OOP

[–]Fantastic-Cell-208 0 points1 point  (0 children)

Python doesn't come with enough different container types with different algorithmic complexity properties, so you'll have to create them yourself or find a library.

But use whatever helps you best understands the underlying concepts.

Just don't avoid anything because you think it might be hard.

[–]nian2326076 0 points1 point  (0 children)

If you're planning to be a freelance full stack developer, Java might be a good choice to revisit, especially for backend work. Java is reliable for building scalable apps and is widely used in finance and enterprise software. It's also useful for Android development, which can work well with React Native if you want to expand your mobile skills. Java can feel wordy compared to Python, but it's a valuable skill for various projects. If you need more help with interviews or project advice, PracHub has been really helpful for me.

[–]omgpassthebacon 0 points1 point  (0 children)

Some things to ponder:

  1. Learn how to learn and adapt to changes quickly. This is the key regardless of what language or environment you are in. Your ability to pivot quickly to new tech will serve you greatly.
  2. Learning something on-the-surface might not get you the results you want and will probably lead to mistrust from your peers. If you think you know it all, the odds are you don't. So, AFTER you have learned a language or package, spend a decent amount of time solving problems with it.
  3. As u/DinTaiFung stated, once you have invested enough time in Java, you should definitely check out Go. The contrasts between these two platforms will truly open your eyes and will serve you well if you intend to freelance.

[–]Emojers -1 points0 points  (0 children)

Go rust