Yeah, I lately tried to do some kind of automated migrations between an old and a new format which requires expert knowledge I don't have myself. In the end the solution also was way to creative with things that don't exist.
About improving development: A colleague suggested what github did with its code review feature (for pull requests) for our on prem bitbucket server.
Got some time at work to work on this topic, but can't come up with a good idea yet.
* Introduction to Java Programming and Data Structures
* Head First Java
* Think Java
* Clean Code
* Pragmatic Programmer
* Effective Java
* Refactoring
* Java Concurrency in Practice
* Test Driven
* Head First Design Patterns
* Release It!
* Kotlin in Action
* Spring in Action
* Spring Boot in Action
* Cloud Native Java
* Spring Microservices in Action
* Learning Spring Boot 2.0
Feel free to add more suggestions for the list. Also make sure to share your experience with the ones already on the list.
Jumping ships also forces you to learn new things, it gives you a broader view instead of a deeper view of what is being used at your current company. Staying in a technical position is ok if they makes you happy, better to be an excellent Dev than a shitty manager
A few things to consider here. And this is all personal opinion from someone who's been working around the tech world for ~15 years. Your mileage may vary.
1) Is monetary compensation actually the most important thing to you? If the answer is yes, then optimize your career around that and always take the higher offer instead of beating yourself up over alternatives. If the answer is no, then recognize that you're going to be leaving money on the table and the balance of things that are important to you is going to outweigh money over the years.
2) I find that tech workers really often lack perspective on things like this. Talk to some friends in non-tech positions around the country and ask what they make (or go on Glassdoor and look). Chances are you make way more than they do for relatively less work, but are beating yourself up for not making even more. It's somewhat irrational if you take a step back and think about it.
3) To answer your question directly, no, there are other options. 1) ask for more money from your current employer while respectfully providing the business case for why you deserve more money. If they have the money to pay you there's a good chance they'll agree and you'll get more without having to jump ship. But recognize that many companies you might want to work for probably can't afford to pay you as much as well-funded company X trying to recruit you. Another option is to pursue additional income outside of your primary job as many people on this site do. A third option is to start your own business and take the risk of tying your compensation directly to the company's performance.
4) It's important to recognize that there is almost always a trade-off between money and doing things that are actually enjoyable. Park rangers and zoo keepers make shit for money, but generally love what they do. Finance guys making millions of dollars a year are often completely miserable. See point #1 above.
As an anecdote, I've turned down "more money" options several times over the years and it's almost always turned out to be a good decision because the other junk that would have come with the money would have been awful. Meanwhile, several friends who hopped on the money treadmill are so hopped up on antidepressants and therapy sessions it's a wonder they're functional.
Also on further reading the OP is from a Uni /Rnd Background which is notorious for paying people very badly and from experience when you start at a low salary its hard to get what you deserve.
I disagree on both points. It's not uncommon at all for people to negotiate 20%+ raises just by asking and making clear they are willing to leave if a significant raise isn't forthcoming (assuming, of course, that they are actually worth the raise and the company can pay it). On your second point, it's also not uncommon at all for people to very quickly raise their salary coming from a low point (just look at people who went from minimum wage to doing a code bootcamp and getting 3x what they were making previously). Tip on that - if the place you're interviewing with asks what your current salary is, tell them it's whatever your target salary is minus 5-10%. There's no downside to doing so, and no upside to telling them what you currently make.
But if they went to a tier one university after 10 years who would be ahead? unfortunately its not going on average the ones who went via the vocational route.
I second that, especially about the good commit messages.
At work we have very different work ethics when it comes to commit message.
Another dev working on a different code base was blown away on how I was able to reconstruct a requirement change 6 months ago. Just looking at the last 3 commit messages where the file was involved.
Since then I see him writing better commit messages too :)
Think it was one of these eye-opener moments for him.
About improving development: A colleague suggested what github did with its code review feature (for pull requests) for our on prem bitbucket server.
Got some time at work to work on this topic, but can't come up with a good idea yet.