no, don't learn ruby on rails today. Companies still use it but I highly recommend using Django or Flask and Python as an alternative if you're starting from the ground up
Believe they'd say that popularity of the language is on the upswing rather than down. In a world where JS, Python, and Perl already exist, is there still room for Ruby? (Mention Perl because I believe it might fill some Ruby use-cases, and is generally already installed on Unix.)
This was back in 2009. The NYTimes interactive team had hired folks (Big Nerd Ranch) to hold an in-office Rails lesson, and my boss sent me over to learn with them. While I did have a computer engineering degree, my webdev experience was limited to making elaborate (but poorly-coded) PHP and Flash scripts. I was actually hired originally to be a web producer (mostly tasked with posting stories online and making the HTML proper), but learning Rails not only taught proper web app conventions, but allowed me to build important data projects, such as this one: https://projects.propublica.org/d4d-archive/
I stopped using Ruby and Rails and opted for Python when I started teaching at university, because I realized Ruby wasn't ideal for teaching novice programmers. But I've recently picked up Rails again for some freelance work and have been delighted at how easy it is to get back into. My sense is that Ruby and RoR are no longer as dominant or competitive compared to Python, but it still seems to be a very high in-demand skill because of all the apps/startups that used RoR from the time I learned it back in 2009. That said, learning RoR was less about having the specific skill on my resume, and more about my first exposure to professional and open-source application development, which I'm embarrassed to say I had virtually no experience with when majoring in computer engineering.
Today, I personally would recommend people learn Python and do Django, even though I've personally never used Django myself, but feel confident that it's not much different than my RoR experience.
> because I realized Ruby wasn't ideal for teaching novice programmers
Care to elaborate? I work with both of them lately, consider me a novice programmer since I rarely write anything complex, but which part of ruby is not ideal for teaching?
I find the ruby syntax much more self-explanatory than python.
An example: recently, I had to use private methods in a python project. I went for the _method() convention, but priv methods don't exist in py.
Exactly this. People who are new to programming -- and aren't, say, majoring in math -- don't understand or appreciate determinism and exactness. That is, if their "program doesn't work", and unless you intervene as the instructor, they'll try every random thing they find on StackOverflow until their program "works" (i.e. no longer raises an Exception).
I love the elegance possible in Ruby syntax, but it allows for way too much ambiguity, and if you don't understand how parsing/interpreters fundamentally work, it will seem like Ruby is as loose and permissable as regular English syntax, which is a huge stumbling block for people entirely new to programming. I admit to slamming my fist on my desk the first time I tried writing Python only to get an indentation error, but Python's explicitness is incredibly helpful in making clear the exactness needed for computation.
And Python's design helps prevent many of the kinds of catastrophic/difficult to debug errors that do not throw exceptions in Ruby. For example, the following situations are acceptable in Ruby, but in Python, will raise errors:
if x = 9
puts x + 1 # prints 10, because x is assigned to 9 first
y = {}
z = y["this doesn't exist"] # z is set to nil
I learned Rails because it was way better than PHP. I had a colleague show it to me and was amazed at how much simpler things can be when you have your ORM, MVC, templating, configuration all set up in an opinionated framework. As for whether or not you should learn it today - maybe? I think there's still a future for Rails development. It's more of a workhorse now than the Hot New Thing.
I think if you're looking for something new, look for things that you (or others) get excited about, because they are way better then the current way. Learning Rails was because it was 10x better than the PHP spaghetti shit that I was personally coding in early 2010s.
I think this can apply to a lot of trends. For me, Golang was a much much better way to handle concurrency. Add typing, strong performance, compilation. It's also on an upward trend that I was on the leading edge of.
These days I'm learning Rust because I think the borrow checker is an interesting and much better way to handle memory than manually allocating/freeing, pointers, or slow GC. However, who knows if it will take off.
Similar things have happened with frontend. From what I understand React is much much better than coding together stuff with jQuery and random plugins.
I wouldn't recommend it today. Ruby/Rails is 10x to 20x slower as a web server compared to web frameworks for languages that were designed to be concurrent like Java (Play), Erlang (Plug, Phoenix), and GoLang (Gin, Martini). Even Nodejs Express is 3x faster. Benchmarks here: https://github.com/mroth/phoenix-showdown
One of the core Rails developers José Valim created his own language Elixir built on top of Erlang and web framework Phoenix.
Ruby is a beautiful language - well written code can bring a tear to your eye like Haiku. But its not designed for concurrency so you have to bend over backwards to add caching and scale your web server a lot more than other languages.
Learning Ruby/Rails and being part of a team that followed Sandi Metz 5 Rules and TDD made me a better programmer in other languages.
Most companies are moving towards microservice architure where each service runs separately and can use whatever language makes sense for that service. We replaced our monolithic Rails web app with 20+ microservices, most of which use Golang, some Python and Node and Java. The main web server service renders one html page (about 20 lines!) that simply renders a React app that communicates with our API server (API server router then routes to the correct microservice).
We don't need Rails view templates or localisation support as most dynamic websites do this clientside. Doing lots of Javascript in Rails was always clunky and poorly supported until a year or so ago when they caught up and added modules and hot reloading support.
We have found Golang very easy to learn, ridiculously fast to compile and run tests and very robust. Google said it was designed for Programmer enjoyment and it really shows.
Tactically: public speaking.
Strategically: forget about titles and career path and comp and just figure out how to provide value to the people around you. The other stuff takes care of itself.
I like how succinctly you've put it. I may add that as long as you are creating value or reducing the amount of collective headaches for the people around you, they'll keep you around.
Embedded systems don't really scale the same way backend systems do. In embedded, you write the firmware, and it gets loaded into thousands or millions of devices. There may be a few updates, but firmware kind of gets frozen in time.
With backend, you write code that can be used to expand a business. You're adding features to grow marketshare or scaling up to meet user demand, so it has a more direct correlation with the health of a business. It's less of a cost center, and more of an investment.
I wish I could say I had a plan that lead me down my career path. I made one dumb random decision after another, and somehow they all got me where I am today. The best decision was way back in 1999 I started a blog because I loved Slashdot. I used that to learn how to program, and that has lead to every job I've had since. So my long winding dumb successful career path is all thanks to me wanting to be like cmdrtaco! (I once got to thank him for that here on Hacker News)
Similar here. To this day I have no idea what I'm doing or how I got here. I made fan sites for various stupid shows, while selling white goods, and apparently they were good enough to get invited to a career in web dev. Then I took lead on projects because our project manager didn't know what "html codes" are, so they sent me off to do PM courses and suddenly I'm an IT PM.
I still feel like I should be selling fridges, but they keep getting good performance reviews, so I'll take it. Sure pays better than selling fridges.
Getting outside of my developer comfort zone and embracing sales. Giving emailing, calling, coffee'ing, etc the same priority (sometimes more) as coding.
I quit my job to read and hack or a project and random shit. I’ve gotten so much more knowledgeable and skilled. I’m also getting much better job offers than I used to.
I want to say that I did something similar, and I had to go the odd day without a meal here or there every once in a while. Not to say that is a bad thing, but definitely be ready to have a similar experience if you aren't prepared.
Not really a decision, but having a mental breakdown after multiple failed startups and unsavory corporate jobs made me re-evaluate my life and drive me towards achieving something meaningful I would be proud of.
I started a doctoral program at the University of Maryland in aerospace engineering, instead of going to work with a bachelor’s in CS. Had I started a programming job, my net worth would almost certainly have an additional zero behind it.
But: A PhD gives you intellectual freedom you don’t get any other way. I’m the PI for a space robotics program. And in grad school I made friends I’ll have for life. I got to do a Vomit Comet flight. I got to do a spacesuit run in Marshall Space Flight Center’s neutral buoyancy lab. I designed a spacecraft simulator robot from scratch. I’ve done things very few people get to do.
To leave the academic track and start working full time on a mobile app at the end of my Masters. Nearly everything notable that's come my way career-wise stemmed from people noticing that little app that I spent less than 6 months working on.
I was studying neuroscience and met another student who said "Hey, I've been running workshops teaching people how to build simple brain computer interfaces with EEG, but it's hard to explain the signal processing steps without showing them what it actually looks like. We should build an app that does that."
Fortunately, there was a product out there, the Muse EEG headband, with a lot of users and a decent mobile SDK. The company gave us some free headbands to work with, some experience software developers told us what tech to use, and a few months later we released EEG 101: https://play.google.com/store/apps/details?id=com.eeg_projec...)
I was an active duty Air Force intelligence officer and I had been building a mobile augmented reality product as a side project. This was before AR really took off.
I had a choice to make: Be a professional spy for the government or do what I wanted to do since I was a kid and build computer vision/AI products, with the goal of doing AI for the rest of my life.
This was right as Neural Nets were exploding in vision and I had been focused on geometrical computer vision and causal bayesian networks.
So I decided to leave the military and start something that was super unproven without a PhD in CS/ML etc...
Now my whole life now is developing Computer Vision products and doing commercial research around vision, with an unfinished MS in ML systems. I realized today that I reached one of my main goals which was to just be in the field as a professional, doing it full time.
A bit of an unethical life pro tip, but to lie. Lying allows you like no other skill to get a huge jumpstart in your career. I'm not talking about some basic white lie, but some Death Note-level type of deceptive schemes where you can then act on the deception. It also trains you for leadership, as deception is an incredibly important skill the higher you get.
The more liars that enter the job market who are unable to deliver on their empty promises, the more valued the people who actually put in the work will become. So go ahead and lie, make my day.
"Thou who shalt be king hereafter, protect yourself vigorously from the Lie; the man who shall be a lie-follower, him do thou punish well, if thus thou shall think. May my country be secure!"
https://en.wikipedia.org/wiki/Lie#In_Zoroastrianism
Even if you entire leave aside how immoral this advice is, it is still a terrible strategy for success: unless you are a Kasparov-level master of lies, you are going to make your life terribly complicated and this will weigh you down and make you miss a shit-ton of legit opportunities.
Quitting my job at a family-like studio and going freelance. I regret the loss of comfort, familiarity, and semi-security, but my pocket book doesn't, the pay increase was gigantic. AND I've gotten to see the world, lived in 7 different time zones.
There is no loyalty in business. Keep your loyalty for your family and may be friends, not for the company you work for. The company will never be loyal back. Have an opportunity to make more or work more interesting? Grab it with both hands. If you are 99.99% of the workforce, you are not indispensable no matter how much you think you are.
So true! When you experience sudden group layoffs you realize rescuing the balance sheet matters far more than retaining good talent. I once had a boss tell me “Working here should be your career. Don’t treat this place like just another notch on your resume.” Sorry boss, but it might be just a footnote on my resume. I’m only staying here as long as the work and the pay is satisfactory otherwise I’m already interviewing someplace else. Nothing personal boss, it’s just good business.
In my second job, the company was not doing well financially. They stopped 401k match, reduce salary by 5% across the board etc. I still stayed because I liked the work and the people. Then they started laying off people who were with the company for 25+ years. One of them was my good friend. An asian guy who worked day and night and treated his work like his baby. He had two kids in medical school and a house with mortgage. He also was the only bread winner in family. I could see the pain and anxiety in his eyes. He had to sell everything and move back with his family to be with his brother and extended family.
That was it for me. I found a much better paying job within two weeks and never looked back.
The next company I worked for laid people off on schedule even though they were growing like crazy. In my four years there they went from 2b to 6b, but laid off many employees every year or so.
And I'll fly the opposing flag here. Loyalty to people is everything in business. Got a good working relationship with people? Stick to them like glue. Make your moves as a unit.
Having a team of people consistently work well together is lightning in a bottle.
I've built relationships with people just by doing right by them in tough situations that have lasted decades and paid fantastic dividends.
Both is true in my opinion. Strange thing I witnessed, loyalty between corporations matter (e.g. suppliers and customers) and loyalty between people matters (just pick wisely, not everybody is worth it). Loyalty between corporations and people doesn't exist and is usually a one way street.
Yes, only be loyal to people who demonstrate some kind of altruism. I've had a client offer me a big raise on my hourly rate once without me even asking. It's a sign of trustworthiness.
I think it's both. You won't get very far if you treat everyone at your job like an enemy. Don't burn bridges if not necessary. If you find a better job, leave graciously and do what you can to help transition. You don't know when you will need the help of somebody there in the future.
Also understand the motivations of people more powerful than you. They want to succeed, get promoted and make more money. If your goals align with theirs, you're golden. If they see you as being an impedance to their goals, you will get tossed aside, no matter how much bullcrap they heap on you in orientation and all-hands meetings about caring about the employees. It's just profit and loss, raises and promotions- nothing else.
Disclaimer: I have a company and I've started a few in the past.
My take is that the loyalty a company has towards a given employee cannot be the same, simply because it lacks the emotional basis that usually makes that loyalty as strong and/or as irrational. It's completely a matter of company culture which, in most cases, isn't very empathic to employees.
I don't think lack of loyalty is a rule though. I think that if the company culture is set up properly, it can totally have some form of valuable, albeit different, loyalty towards its employees.
Thing is though from the other side even if you have good intentions, you still have more then one people to think about. So your loyalties are split. For an employee, it's only one entity to be loyal to.
Most employees have split loyalties as well: Family members, personal projects, etc., which to varying degrees affect their loyalty to the company. It's how it should be. Neither side is free from conflicting loyalties. Nonetheless even within those constraints, both side can show loyalty if they treat each other with consideration and respect.
Technically the decision was made for me, but changing jobs was the best thing that ever happened to me. I went from a toxic culture I worked at for 16 years (well, it was about 10 years of the toxic culture that snuck in without me realising) to work for a small consultancy where I have a boss that actually appreciates everything I do and supports me in what I need.
The massive pay increase was just a bonus on top of all that.
Did Recurse Center in 2012. It started a snowball of growth that hasn't showed signs of stopping. The Recurse Center is a self-directed, community-driven educational retreat for programmers. https://www.recurse.com/
Changing jobs! Seems like it's so much easier to make more money by getting a new gig than by negotiating with your current employer. I've changed jobs every year since I graduated college; each jump has added 20k or 30k to my salary. I didn't have the best grades, didn't go to a good uni, but I've gone from 45k to 170k in 6 years.
Doesn't the employer often ask that why you change jobs every year ? Is it fair enough that if one company offers better gig than other so I can negotiate with other to increase gig?
Agreed. I've seen only a couple job postings over the years that say something like "no job hoppers". In fact, because of this much change I've been exposed to a lot more technologies/tools/architectures/etc than most people at my level of experience, which if anything has helped me in my ability to evaluate tech decisions, have interview discussions, etc.
Getting a job in a major metro area. I was very resistant to moving away from the smallish city/metro area I lived in until my late 20's. When I did, my career just took off.
I'm not even talking about Silicon Valley. I worked in Boston, Seattle, and Sydney, Australia. Never set foot in the valley as an employee of a local company. Made insane salaries, one company I worked for got acquired, another one went public, etc.
Define "medium-sized". Sydney has over 5m people in it and covers approximately 4750 sq mi. So maybe half the population of the LA metro area in about the same size?
> Define "medium-sized". Sydney has over 5m people in it and covers approximately 4750 sq mi
This reveals something many readers might not have noticed. It's a quirk of politics and history that "Sydney" is defined to include the entire urban agglomeration that surrounds its city core (all 4750 sq miles of it), but this isn't the case in most U.S. cities. For an apples-to-apples comparison, you should be looking at U.S. CSA (Combined Statistical Area) populations (not the populations of core cities).
That puts Sydney outside the top 10 U.S. metros -- considerably smaller than #11 Atlanta (6,555,956), and about the size of #12 Detroit (5,336,286) or #13 Seattle (4,764,736).
The Los Angeles CSA (since you brought it up) has ~18 million people in it. †
† In the spirit of fairness, it should be noted that CSAs sometimes cover extremely large areas. If we were to restrict Los Angeles to its MSA (which at 4,850 sq miles covers an area almost identical in size to Sydney), its population drops to about 13 million. The difference between CSA and MSA populations isn't usually so large, but the Los Angeles metro area contains an almost ridiculous amount of urban-ish sprawl, compared to most other cities.
As per your footnote, LA reminded most of Australian sprawl in how it’s all spread out. Brisbane, where I live, sounds big, but the actual city is rather small — and way less dense than central LA!
Quite surprising how closely it resembles some of the US, especially Southern California, in the sprawl, car culture, and surburbia. Then again, I hear Melbourne and Brisbane are quite livable with better public transit options.
Exactly, the structure and subdivision of local government is quite different. The ‘City of Sydney’ has only about 200,000 people in it [1] despite the population in the entire metropolitan areas being similar to that of Seattle’s.
Sydney felt an order of magnitude larger than Boston or Seattle. The population density was staggering compared to those cities. It took hours to get away from urban sprawl and feel like you were out of the city
Strategically burning bridges when appropriate, putting forth a will-do attitude even if it means doing things outside scoped responsibilities, and just being kind to people.
Not the OP, but there is a lot to be said for the concept of karma. Karma is the result of some action. You can hold on to some karma, or you can let it go. Sometimes you have a connection with a person or an organisation. That connection can have consequences that are not good for you. You are free to hang on to that connection, or let it go most of the time. Usually it's a good idea to let it go. Sometimes the other side persists in trying to keep the connection (for one reason or another). In those cases, it's probably a good idea to be perfectly clear about your desire to sever the connection. You don't have to be cruel about it, but it's usually good to be crystal clear.
This is often super difficult to do, and the Seinfeld "off like a bandaid" approach is probably best. By doing it clearly and quickly, you allow yourself to focus on what you really want and not to carry around a lot of baggage. For example, I've been approached by previous employers about working for them again and I've had to tell them politely that it's never going to happen. Usually I try to give them some constructive criticism if they are able to receive it, but I admit to having done the "It's not you, it's me" routine before. Basically, I think it's important to focus on explaining that the paths are different and that each party needs to concentrate on their own path without needing to try to drag the other along. A couple of times I've received the, "But I've changed..." thing and I just have to reply, "That's great. I know you'll be able to find great people to work with because of that. I need to focus on my own stuff."
strategically burning bridges? Sometimes it’s tempting but I always tried to leave each gig on good terms, no hard feelings, no matter how good or dysfunctional the situation was, since you never know when past connections can be helpful later on. Curious to know when is it helpful to burn the bridge.
If a manager was mean to the woman on your team, and you stood up for her and called him out and maybe taken it to HR and thus burned the bridge with that manager, the woman and her team might be much stronger connections in the future.
If you have enemies, or for that matter people who just hate/envy you, the bridges are burnt no matter on what terms you leave. They will just be happy to see the end of you.
Don't burn bridges is for relationships where people like each other.
Strategically burning bridges is cya in a way that you benefit while leaving, leave others wondering before they deliver a blow.
Six years ago I left my job in IT, took a pay cut, and gave up great benefits to go work for a startup as a junior developer. I had caught the bug and knew I wanted to create software for a living.
I’m still here and now I’ve helped to build a team of super-talented engineers and we are building some very cool things and having fun doing it.
489 comments
[ 3.1 ms ] story [ 301 ms ] threadI stopped using Ruby and Rails and opted for Python when I started teaching at university, because I realized Ruby wasn't ideal for teaching novice programmers. But I've recently picked up Rails again for some freelance work and have been delighted at how easy it is to get back into. My sense is that Ruby and RoR are no longer as dominant or competitive compared to Python, but it still seems to be a very high in-demand skill because of all the apps/startups that used RoR from the time I learned it back in 2009. That said, learning RoR was less about having the specific skill on my resume, and more about my first exposure to professional and open-source application development, which I'm embarrassed to say I had virtually no experience with when majoring in computer engineering.
Today, I personally would recommend people learn Python and do Django, even though I've personally never used Django myself, but feel confident that it's not much different than my RoR experience.
Care to elaborate? I work with both of them lately, consider me a novice programmer since I rarely write anything complex, but which part of ruby is not ideal for teaching?
I find the ruby syntax much more self-explanatory than python.
An example: recently, I had to use private methods in a python project. I went for the _method() convention, but priv methods don't exist in py.
Yes and no. Consider that these are different in Ruby but the same in almost every other language:
Ever had to debug code that relied on this behaviour? Or had to explain why exactly to someone unfamiliar with yacc?I love the elegance possible in Ruby syntax, but it allows for way too much ambiguity, and if you don't understand how parsing/interpreters fundamentally work, it will seem like Ruby is as loose and permissable as regular English syntax, which is a huge stumbling block for people entirely new to programming. I admit to slamming my fist on my desk the first time I tried writing Python only to get an indentation error, but Python's explicitness is incredibly helpful in making clear the exactness needed for computation.
And Python's design helps prevent many of the kinds of catastrophic/difficult to debug errors that do not throw exceptions in Ruby. For example, the following situations are acceptable in Ruby, but in Python, will raise errors:
I think if you're looking for something new, look for things that you (or others) get excited about, because they are way better then the current way. Learning Rails was because it was 10x better than the PHP spaghetti shit that I was personally coding in early 2010s.
I think this can apply to a lot of trends. For me, Golang was a much much better way to handle concurrency. Add typing, strong performance, compilation. It's also on an upward trend that I was on the leading edge of.
These days I'm learning Rust because I think the borrow checker is an interesting and much better way to handle memory than manually allocating/freeing, pointers, or slow GC. However, who knows if it will take off.
Similar things have happened with frontend. From what I understand React is much much better than coding together stuff with jQuery and random plugins.
One of the core Rails developers José Valim created his own language Elixir built on top of Erlang and web framework Phoenix.
Ruby is a beautiful language - well written code can bring a tear to your eye like Haiku. But its not designed for concurrency so you have to bend over backwards to add caching and scale your web server a lot more than other languages.
Learning Ruby/Rails and being part of a team that followed Sandi Metz 5 Rules and TDD made me a better programmer in other languages.
Most companies are moving towards microservice architure where each service runs separately and can use whatever language makes sense for that service. We replaced our monolithic Rails web app with 20+ microservices, most of which use Golang, some Python and Node and Java. The main web server service renders one html page (about 20 lines!) that simply renders a React app that communicates with our API server (API server router then routes to the correct microservice).
We don't need Rails view templates or localisation support as most dynamic websites do this clientside. Doing lots of Javascript in Rails was always clunky and poorly supported until a year or so ago when they caught up and added modules and hot reloading support.
We have found Golang very easy to learn, ridiculously fast to compile and run tests and very robust. Google said it was designed for Programmer enjoyment and it really shows.
Embedded systems don't really scale the same way backend systems do. In embedded, you write the firmware, and it gets loaded into thousands or millions of devices. There may be a few updates, but firmware kind of gets frozen in time.
With backend, you write code that can be used to expand a business. You're adding features to grow marketshare or scaling up to meet user demand, so it has a more direct correlation with the health of a business. It's less of a cost center, and more of an investment.
Just as an example, in Vancouver, I got poached by a recruiter from G&E to work with FPGA in a senior position. The offer was around 80K.
At London a senior embedded systems engineer would get 40-45k pounds.
A senior fullstack / devops / backend dev at any of those cities can clear around 50% more easily with 10 times more jobs available to pick from.
I still feel like I should be selling fridges, but they keep getting good performance reviews, so I'll take it. Sure pays better than selling fridges.
But: A PhD gives you intellectual freedom you don’t get any other way. I’m the PI for a space robotics program. And in grad school I made friends I’ll have for life. I got to do a Vomit Comet flight. I got to do a spacesuit run in Marshall Space Flight Center’s neutral buoyancy lab. I designed a spacecraft simulator robot from scratch. I’ve done things very few people get to do.
Fortunately, there was a product out there, the Muse EEG headband, with a lot of users and a decent mobile SDK. The company gave us some free headbands to work with, some experience software developers told us what tech to use, and a few months later we released EEG 101: https://play.google.com/store/apps/details?id=com.eeg_projec...)
Also realizing family and enjoying life are often more important than the next step in my career.
I was an active duty Air Force intelligence officer and I had been building a mobile augmented reality product as a side project. This was before AR really took off.
I had a choice to make: Be a professional spy for the government or do what I wanted to do since I was a kid and build computer vision/AI products, with the goal of doing AI for the rest of my life.
This was right as Neural Nets were exploding in vision and I had been focused on geometrical computer vision and causal bayesian networks.
So I decided to leave the military and start something that was super unproven without a PhD in CS/ML etc...
Now my whole life now is developing Computer Vision products and doing commercial research around vision, with an unfinished MS in ML systems. I realized today that I reached one of my main goals which was to just be in the field as a professional, doing it full time.
http://fortune.com/2016/06/02/lying-leadership-skills-expect...
Even if you entire leave aside how immoral this advice is, it is still a terrible strategy for success: unless you are a Kasparov-level master of lies, you are going to make your life terribly complicated and this will weigh you down and make you miss a shit-ton of legit opportunities.
That was it for me. I found a much better paying job within two weeks and never looked back.
The next company I worked for laid people off on schedule even though they were growing like crazy. In my four years there they went from 2b to 6b, but laid off many employees every year or so.
With 25years in corp, you should have at least contacts to win contracts. If it was manager position ofcourse.
I've built relationships with people just by doing right by them in tough situations that have lasted decades and paid fantastic dividends.
Also understand the motivations of people more powerful than you. They want to succeed, get promoted and make more money. If your goals align with theirs, you're golden. If they see you as being an impedance to their goals, you will get tossed aside, no matter how much bullcrap they heap on you in orientation and all-hands meetings about caring about the employees. It's just profit and loss, raises and promotions- nothing else.
My take is that the loyalty a company has towards a given employee cannot be the same, simply because it lacks the emotional basis that usually makes that loyalty as strong and/or as irrational. It's completely a matter of company culture which, in most cases, isn't very empathic to employees.
I don't think lack of loyalty is a rule though. I think that if the company culture is set up properly, it can totally have some form of valuable, albeit different, loyalty towards its employees.
The massive pay increase was just a bonus on top of all that.
I'm not even talking about Silicon Valley. I worked in Boston, Seattle, and Sydney, Australia. Never set foot in the valley as an employee of a local company. Made insane salaries, one company I worked for got acquired, another one went public, etc.
This reveals something many readers might not have noticed. It's a quirk of politics and history that "Sydney" is defined to include the entire urban agglomeration that surrounds its city core (all 4750 sq miles of it), but this isn't the case in most U.S. cities. For an apples-to-apples comparison, you should be looking at U.S. CSA (Combined Statistical Area) populations (not the populations of core cities).
That puts Sydney outside the top 10 U.S. metros -- considerably smaller than #11 Atlanta (6,555,956), and about the size of #12 Detroit (5,336,286) or #13 Seattle (4,764,736).
The Los Angeles CSA (since you brought it up) has ~18 million people in it. †
† In the spirit of fairness, it should be noted that CSAs sometimes cover extremely large areas. If we were to restrict Los Angeles to its MSA (which at 4,850 sq miles covers an area almost identical in size to Sydney), its population drops to about 13 million. The difference between CSA and MSA populations isn't usually so large, but the Los Angeles metro area contains an almost ridiculous amount of urban-ish sprawl, compared to most other cities.
https://www.theguardian.com/cities/gallery/2018/apr/10/sydne...
Quite surprising how closely it resembles some of the US, especially Southern California, in the sprawl, car culture, and surburbia. Then again, I hear Melbourne and Brisbane are quite livable with better public transit options.
[1] https://en.m.wikipedia.org/wiki/City_of_Sydney
This is often super difficult to do, and the Seinfeld "off like a bandaid" approach is probably best. By doing it clearly and quickly, you allow yourself to focus on what you really want and not to carry around a lot of baggage. For example, I've been approached by previous employers about working for them again and I've had to tell them politely that it's never going to happen. Usually I try to give them some constructive criticism if they are able to receive it, but I admit to having done the "It's not you, it's me" routine before. Basically, I think it's important to focus on explaining that the paths are different and that each party needs to concentrate on their own path without needing to try to drag the other along. A couple of times I've received the, "But I've changed..." thing and I just have to reply, "That's great. I know you'll be able to find great people to work with because of that. I need to focus on my own stuff."
Don't burn bridges is for relationships where people like each other.
Strategically burning bridges is cya in a way that you benefit while leaving, leave others wondering before they deliver a blow.
I’m still here and now I’ve helped to build a team of super-talented engineers and we are building some very cool things and having fun doing it.