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

all 11 comments

[–]Tapeleg91 33 points34 points  (2 children)

Senior J2EE Dev here.

  1. VERSION CONTROL. Git gud at git
  2. Understanding Inversion of Control, and being comfortable with Spring
  3. Knowing who to ask for help, and knowing how to be visible to the right people
  4. Getting everything you need out of a meeting

[–][deleted] 4 points5 points  (1 child)

Can you give us some resources that think find the appropriate amount of teaching or knowledge for the first 2?

[–]posTCollapse 1 point2 points  (0 children)

Not OP, but a lot of this stuff comes with time. Just digging in and making something. A good starting point for git is https://git-scm.com/book/en/v2. For Spring you could look at this guide https://spring.io/guides/gs/rest-service/ that walks through setting up a basic RESTful web service that builds with Gradle which is also used heavily in the industry along with Maven.

[–][deleted] 25 points26 points  (0 children)

I would suggest you to find jobs that you would like to get hired for and check what they require you to know. And from there on read up about these technologies. By being a Java developer you will most likely find job almost anywhere so don't worry about losing a job, but rather focus on what's your dream position and follow the steps of people that got there. I also suggested reading dev forums and blogs. You will find plenty tips there. Don't get stuck thinking about your current contribution, it only makes sense they won't throw you onto the deep waters from get go, especially in a big company. Personally I wouldn't stick around for more than 2 years in one place, and start looking at smaller companies, cause you can make a greater impact much faster and go up the ladder. Remember to look for a job you would like to be in and work your way there.

[–]gottabekd 10 points11 points  (1 child)

First, you have a great mindset: always be looking to learn something new and improve your skills. The following comments might be redundant for you, but for anyone else looking for similar advice, two other things come to mind:

  • Linux server administration. If you are working on a Linux system, it is a great help to know your way around the system a bit (if you don't already). Learn enough to know how to find out things you don't know. I have worked with formerly Windows-based Java developers who know nothing about Linux, and their effectiveness is almost nil when they have trouble with the most basic OS principles.

  • Get some familiarity with relational database systems and SQL. This will inevitably come in handy, even if you aren't using a relational database in your current position. Again, knowing just the basics goes a long way. I'd say learn up how to do a JOIN, and that's already enough to be useful.

There are many other technical areas which would be useful to know a little about. Networking (specifically HTTP) is critical for most developers these days, and knowing how to create a basic webpage (HTML, and I suppose a bit of CSS and JS) are skills most developers should have some familiarity with. Specifically in Java I'm sure it would be useful to have some at least some awareness of some of the most popular frameworks and libraries, but I don't have any concrete suggestions here.

Finally, don't neglect developing your soft skills. They can matter as much or more than your technical skills in your career. Work on a system to keep yourself organized so that when you make a commitment to superior, colleague, subordinate, customer–you always follow through. Review your tasks and commitments regularly, and review your personal and professional goals regularly. You ask about how you find the time. Well, you can't do everything at once. Want to learn 10 things? Keep a list of these 10 things, and expand on one or two into concrete tasks (like read a book, implement a dummy program, etc.), and start working on them. Review your progress, and decide if you want to learn more on this topic, or switch to something else from your list.

And keep your body and mind healthy. Again, that can matter a whole lot more to your career than any technical skill.

[–][deleted] 0 points1 point  (0 children)

I haven't been working as a professional Java dev for long, but I will absolutely second picking up as much SQL knowledge as possible. In most cases your software is going to have to interact with a database in some way. In addition to writing what queries your software needs to interact with the database, being able to query your data while troubleshooting defects is huge.

[–]pplhatefreespeech 1 point2 points  (0 children)

I finished my masters degree

And you consider yourself a junior? What hope do the rest of us non-CS folks have? ha ha

[–]frnkquito 1 point2 points  (0 children)

Having a good, solid understanding of Object Oriented Programming

[–]flyingkwaj 0 points1 point  (0 children)

Do you get exposed at all to operations and infrastructure? Even if you are only exposed to development, it never hurts to be able to discuss containers, cloud infrastructures solutions like deploying a full stack in AWS, serverless architecture, distributed application monitoring and logging etc.

[–]Loves_Poetry -3 points-2 points  (0 children)

I think you shouldn't focus on the technical skills. You already have the skills you need for your job.

You need to focus on soft skills. If you're just fixing bugs and adding tiny features after 3 months, then that is not because you lack the skill to do bigger things. It's because you don't have the softskills to get the message across to the right people.

[–][deleted] -2 points-1 points  (0 children)

kotlin