New Kids on the Block: Understanding Developers Entering the Workforce Today
stackoverflow.blog
stackoverflow.blog
Perhaps its because it seems like 4 years is the mean time between start and end of the new-school; i.e. it takes at least 4 years for the group who have forgotten how to do the old stuff to be replaced by the group who don't know anything about the old stuff, and just re-invent it all again, with bells and whistles, and .. y'know .. youth'y cool.
A fully funded retirement = Freedom
I know it doesn't seem important now, but if you focus on this early in your career, you'll have a lot of flexibility later in your career.
Re: getting 15-20%: there will be years that you can do this (heck, the S&P 500 returned 32% in 2014) but I certainly wouldn't count on getting those returns long-term. Consider that if you have $500k today and are able to successfully invest it at 20% returns, you'll be a billionaire in under 40 years. There are people who have done it (Warren Buffett and perhaps a few others), but if you're one of them you probably have better things to be doing with your time than posting on Hacker News. :)
I hear this a lot from people who invest and I simply don't believe it. If you are able to consistently get 15-20% you should stop your normal career and just become a investment advisor/broker as for you'll make WAY more money in life.
If you can consistently guarantee above average market returns to your clients, you'll be swimming in their money (and the fees/percentage they pay you to manage it)
I don't think you can just walk into a respectable brokerage firm and just apply to be an investment adviser or broker based on how well your personal portfolio does. It's probably gated by a 4 year math/science/finance degree and other extra-academic examinations.
If you can, I'd like to know how. I'd much prefer finance over healthcare.
Its unfortunate how little people coming out of college understand about personal finance. In my previous job, I was constantly giving mini personal finance lessons and advice to my team.
I didn't end up accepting at that startup for somewhat related reasons- another company made me a monster offer, that to come back full circle on, would allow me to be comfortably financially independent in roughly 4 years- and at that point I will have my "F you" money and can do what I want.
I wouldn't expect a town of 30k (or even 100k) to have that many jobs for developers as it's a fairly specialized industry.
50 years ago you wouldn't find actuarials or design engineers in small towns either.
For the profession of software engineer, most of the jobs are in the higher salary bands there should have an outside impact on the average calculations.
For example, I looked and found a level 1 Software Engineer opening in Kansas City for 50K. That actually seems pretty good -- the median house price there is 120K. Here in Portland it's 345K, and entry level engineers aren't getting 3x the salary. More like 80K or so.
This actually sounds kinda like a good reason for moving to the midwest, assuming you like everything else about it there.
It also explains the extremely short term thinking - free lunch vs retirement - of the entire data set.
Canadian new grads tend towards $60-70k with larger American companies paying closer to $80-90k in the same location. My sampling is heavily biased towards Ontario. I expect Greater Vancouver to be similar but perhaps the rest of Western Canada, along with Quebec and the maritimes are dragging the average down.
Maybe it's the same for Canada?
As much as remote work seems great, I still need a senior level developer I can walk over to and ask questions of.
As well, the program I was in was in a constant state of flux, and the incoming freshmen are able to choose a lot of targeted tracks like Cyber Security, Forensics, High Performance Computing, etc. When I started there were too options: one focused on the business side and one on the engineering side.
Most of these companies have been around forever and have been engaged with selling online, in some capacity, since the 90s. The problem with that is that until about 9 years ago web technologies were slow and nobody took them seriously. Even now formal training in web technologies is rare.
This is problematic because more is continually demanded from web technologies and the majority of the work force is completely lost. The universal technology in every one of these companies is Java and it dominates nearly all aspects of development at every stage. Java isn't a web technology. The result of that problem differs by company due to internal perceptions of technology and company culture.
One company I worked with was growing its revenue and market incredibly fast outpacing their peers and historical norms. This group had the freedom to make candid decisions about their future and reality in general. They had the most bench-warmers of any group I worked with, but they also realized the future is in JavaScript instead of Java. The challenge is that legacy developers wanted to learn this "new" way, but transitioning is hard, especially if you aren't doing that work in your job. There was a lingering fear of obsolescence here.
One company I worked for refused to figure it out. They were confronted by all manners of technology decisions they could not agree upon resulting in different layers of management doing their own things without agreement. The only strong part of that business was marketing. The company folded and somebody bought the brand for super cheap with a skeleton crew.
One company I worked for waited very late to accept this reality and struggled to figure it out. There is a JavaScript layer, which is largely a vanity architectural layer over and reliant upon the legacy Java layer. This group has done well by cornering large areas of the marketing and acquiring competition. The technology is slow compared to their competitors, expensive to maintain, and very painful to work on. Many of the developers refused to abandon doing as much as possible in Java and will often block new code submissions that could be better served in Java. There was no fear of obsolescence because nobody in a decision making capacity was willing to do things in a new ways.
I cannot imagine what this industry will look like 10 years from now as the technologies and developers continue to age and new blood continues to either burn out or grudgingly conform to the old technologies.