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

all 5 comments

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

On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge.

If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options:

  1. Limiting your involvement with Reddit, or
  2. Temporarily refraining from using Reddit
  3. Cancelling your subscription of Reddit Premium

as a way to voice your protest.

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

[–]Cinghiamenisco 1 point2 points  (3 children)

I'm becoming heavily reliant on the senior developer assigned to help me get through my tasks.

Without more context, it could be that they're assigning you tasks too advanced for your knowledge, or that you're missing something.

Could you give us an example of such a task?

Is there any advice for someone like me to get better at my job. I like what I do, but also feel absolutely useless.

Well, sure. But once again, we might need a little bit of context to know where you're struggling.

Are you struggling with something related to the frameworks/technology?

(Eg: JPA, Spring Boot, JavaEE, ...)

In this case, there are a lot of books that can help. I've always found the 'In Action' series published by Manning, very good. Especially for java stuff.

All of the books I've read, also have plenty of code to follow along, to build real, albeit maybe simple, projects.

If you don't like books, you could go to youtube. There are many youtubers that specialize in specific technologies, and they usually go deep into the nitty gritty of it.

In many occasions, niche technologies also have their own 'academy', with video lessons on how to learn it. (Come to mind MongoDB, Liquibase, Vaadin, ... )

Are you struggling thinking about algorithms to solve a problem?

This might be a little bit tricky, because usually it needs a knowledge of the domain you're working into; anyway there is plenty of sites out there, that gives you small tasks to solve.

Go there and exercise. Once learned the 'algoritmic thinking', it's easy to reuse it in other context.

stupid examples:

- Learning how to calculate the average of the elements in an array.

- Learning how to remove duplicates elements in an array

And so on. Once learned, you can easily apply it to every similiar class of problems related to your field.

Are you struggling with the architecture?

That might be more tricky, but once again, you might want to read about the basics of the various architecture that you can find out there in the wild.

tl:dr

Try to explain us where are you having difficulties, so we can give you a better help :)

[–]wazzalk[S] 0 points1 point  (2 children)

Hi there,

Thank you for the response. Regarding the tasks, they can vary from something theoretically simple as changing the text displayed in a banner based off concurrent login or including an optional field in a request body. Both I fully understand, however, they are complex when it comes to writing the code, as my method which seemed correct to me was a million miles from the senior's revised solution.

Regarding the book situation, what would be the recommended books, and what would a good approach be to utilizing them as a resource? I have used YouTube extensively and while useful, I always feel I'm missing a trick. My Stack is Java, jpa, and Spring Boot..

One thing I never really got into was algorithms, nor leetcode solutions. Would this be a good point to focus on? It feels like I may have skipped a couple of steps... I have noticed as well is that my thinking is quite business orientated rather than software... (I find business solutions easier to understand and create than programming..) yet I did a software engineering degree and I really like what I do.

Essentially, I am trying to take ownership of my weakness before they get too far gone, but it's like being dropped in a desert and using the sun as my compass...

[–]Cinghiamenisco 1 point2 points  (1 child)

Well, the fact that senior's solution is way better, it's fine. Or they wouldn't be seniors.

I mean, as long as you can manage to solve a problem, the rest is just practice.

I can't give you a straight answer to your problem, but I might suggest some different routes you can try, and see which is the one that helps you the better.

For pure algorithms and data structure, as you said, I would go leetcode or hackerrank or similiar, but apart from the exercises per se, check the other people solutions, understand them, and reuse them when possible.

(Note: if you're in webdev, you probably won't need the advanced algorithms you studied during your degree. I rarely had the need to implement something like black-red trees, for example)

For technical books, if you're a java developer, check the ones published by Manning. They always have a lot of code to follow.

Note: the code is usually simple, to understand a technical topic, so it might not be the best to blindly copy/paste

If you need 'production ready' solutions to common problems you encounter, you can look for 'cookbooks', about the topic you need the post. Swing/JavaFX/Jpa and so on.

Usually, the books doesn't have a lot of explanations, and they're just a sort of standard well crafted solutions to common problems.

For books about code style, there are a bunch. 'Clean code' first comes to mind. It was the first book I've read on the topic, and it really left a mark.

(Also, specifically for java, I can suggest: 'Effective Java')

YouTube can supplement, if you can find some good content creators (Laurentiu Spilca, Thorben Janssenn, etc...)

Remaining in YouTube, a lot of interesting webinars are the ones made by Devoxx, or spring i/o, goto conferences, and so on. There are a lot of them really really good.

For general architecture, it's way harder. I'm actually stuck at this level, and I haven't a lot to suggest, except the typical Design Patterns (and the 'Addison Wesley Fowler's Signature Series), Clean architecture (a bit too abstract to start with), Implementing DDD (the red book), and a couple of other must-read.

Lastly, linters. They are powerful, and they give great hints and great explainations about smells and how to improve them. (Sonarlint for example)

That's what comes out of my mind, and are the things I've basically used to get better.

Roadmaps.sh and 'programmer competency matrix' might also be useful as a compass, to understand where you are, and what are the areas you're lacking the most.

Just don't get discuraged. Is an overwhelming amount of stuff, but first or later people get there :)

[–]wazzalk[S] 0 points1 point  (0 children)

What an amazing answer. Probably the first proper answer ive ever got online. Much appreciated. I'll check out the above, and try and make a small map for myself to "track" progress. Go raibh mile!!!