I would say that working as a programmer in a corporate environment is a bit similar to being paid to be a novel writer by people who don't know how to read, but absolutely want to tell you how to do your job properly.
Listen, have you ever observed a troll writing a book?
Really? Currency is a scam. You get paid in paper, pay taxes on it, which gets stolen( sorry in edged) in corrupted corps, with a debt system where you are just a slave of your mortgage - unless you're a clever troll, and you bought 10btc 10 years ago, write a book to put the price down, while at the same time, being the most biased possible to trigger HN readers in the hope of getting a Google page rank.... Pathetic.
As a contractor choosing max 3 months contract after more than a dozens of quits.
In my experience, 95% of tech team are disfunctional beyond repair. It pisses me off everytime, and I chose to let it go, stopping the energy hemoragy, and I usually take 2-3 months off, recharge. Now it's been 18 months, no income, enjoying life in SEA. At the end of the day, month, year, decade, I own less, but my life is much more interesting than dealing with mediocre people who knows how to fake it very well, knowing they'll never make it, happy to take the pay check.
Take long holidays. 6 months minimum traveling around.
if you have a family, or a tight mortgage - I'm sorry for you. As I don't have a straight answer. but 6 months away from keyboard is a strict minimum.
Well said.
I would also add that it is perfectly fine to have a list of red flags, and it is perfect fine to define your own bondaries.
Graphql is a red flag for me too, as well is React and node.js, and even git to some extend.
I love simplicity when designing web apps, their backend, their frontend and the deployment process in between.
Although the tech is old , I came up that vue3+pouchdb+quasar is an amazing combination for a stable replicable dev environment, pwa, supports offline usage, and introduces possible p2p replication between browser's pouchdb instances trough webrtc.
React , imo, is a good over engineered library suffering from fragmentation.
Angular is less fragmented, and Vue is the most elegant, performant and versatile of the 3.
Good Devs choose Vue after having worked with both react and angular.
React Dev never tried Vue, nor Angular Dev try React.
Vue Dev usually know all 3.
Having a red flag like graphql can tell a lot about technical overview and experience in failure.
Graphql solves a caching issue that Facebook has. Makes the frontend team life easy, making the backend team life hell , big big hello. Scope changes in the backend are terrible.
Unless your team is engineered driven, and engineers take tech decision, and setup the sprints, going graphql in the backend is a recipe for disaster.
Nowadays a full stack dev is an intermediate Fe dev, with junior backend skills. He will make your backend un-maintainable. Get a proper master on a proper contract rate to design your architecture.
I totally agree, the list of frontend pro is super cool, especially the subscribe real time API, but on the backend, it is a pure nightmare, either using very cutting edge third parties, the authorization is a super big pain in the butt to implement. Cool you got a graph, now you need to make sure only user a can edit row b, there is the shortest path, but the data storage is still centralised.
And I doubt there will ever be any PWA POSSIBLE with graphql, so no offline usage, no local storage , nothing cool toward the web6 decentralised stack.
Also, I have noticed a similar correlation in front-end development. There is a consensus amongst recruiters and decision making that react is the best framework around. First it is NOT a framework ( and it would be better if it was one ), second, it was created 8 years ago when js6 wasn't out yet, and it was addressing a problem since then fixed by native js proxies. Most reactjs Devs are junior, or at best intermediate- but junior, really, since they've only worked with on library all their career, calling themselves full stack engineering, but can't write one SQL query, or cannot write anything else than js.
Those communities are very toxic, because the deliver crap code, they think they are super good and very confident about it, and they absolutely love to trash everyone that disagree with them.
See, you got the elitist toxicity, and the noob toxicity. If I had to choose, I'll run with the elites 100%. At least, we get a hope to deliver.
You can't fix people who cannot learn because of their belief that they already know everything. They will take anything personally that goes in the way of their ego.
For examle, take a react web developer - that only knows React, who think that the React way is the only way, read some blogs written by a junior programmer - and take it as a truth.
2015 : Class components is the React way
2016 : Functional component is the React way - don't use context
2017 : Use Context - that's the React way
2018 : Write CSS in Javascript
... and the list goes on.
Now, good luck explaining to that dev that he basically doesn't knows how to think by himself, and because he thinks that he already knows EVERYTHING - he won't listen - or even learn by his own critical and common sense judgment.
Those type of developers are very toxic, they are VERY vocal about how exceptional they think they are, and they will discard the opinion of anyone better than them - just because it doesn't fit their opinion of themself.
They will stay mediocre - no matter what.
Drop The team, fire everyone, and instead of replacing them with same crap, hire a 5x dev.
So let's say you have 5 crap shit toxic dev, producing spaguetti technical debt - paid 100k/year.
Fire them all, and hire 2 real senior devs at 250k$/y each. And Rewrite the whole stack.
It will be faster on the long term.
Also, there is nothing worse for a good dev to work with existing shit code - spend 3 months trying to refactor the code - introduce regression bugs while doing it - and deal with poor technical choices - while at the same time they could rewrite the whole project in a more elegant and stable way in the same amount of time.
It is normal.
Frontend code is much harder to test than backend. It also has a visual aspect that backend doesn't have.
Your API server doesn't care about cross browser specs, or screen resolution. So when a new iPad comes in, you don't have a new dozen of bugs.
Also frontend lacks developers, so it happens that there are plenty of intermediate developers who have a junior level, leading to spaghetti code, and unmaintainable code, and poor management pushing unrealistic deadlines.
That's really cool. Bill is a legend. I've studied with Peter Andrews this year on his farm. Assuming you're in the IT space, Have you found a way to concile work with green regenerative ethics? Still looking on how to find that remote job myself.
Well, I can't stay in a place more than 3 months, because when I walk in, I am the best engineers they ever seen in their lifetime.
I can produce code in 10x less than they do, I can replace the BA, while at the same time write specs, I did so many jobs in so many companies, and they don;t know it because I am very very humble, and I don;t like to show off.
Then they ask me to do a noob job, or to work on the ugliest piece of spagetti code for few months, or they ask me to work with this Junior dev who got a shit mouth and likes to show off how much younger and vocal he is compared to me, and all of it is making me feeling like I don;t belong there, and that I am not valued for my uncommon talents ( I have 4 ) - and no matter how much effort I put in trying to help them, they won;t note that I can actually be much much more effective at helping them if they stop explaining me how to do my job - or pretending they know how to code - because they wrote a couple of Todo app in React for job interviews.
Just wait for WW3, and wait for all big cities and gvt building who don't care about life and nature gets destroyed. Then you'll have left the country people - the one who know how to survive with land, grow their own food - without lobbies telling them to have their seeds patented in order to sell them - and restore the landscape and the environment. Nothing to do - just wait. If that doesn't happen - then we're all doomed. All we'll have left is Matrix - or Brave new world - no freedom - which will eventually lead to human extinction.
A junior is an engineer that has less than 2-3 years experience professionally, and about the same time building and learning how to code by themself on their spare time.
An Intermediate engineer is a Junior engineer with a good attitude - that says: I am still earning, and I am humble, and I listen more than I talk.
A Senior Engineer Has 10+ years of experience coding, and developing solutions.
He has navigated all the corporate BS, politics, and quit several teams of arrogant Junior con artists, or poor project managers - and is tired of all this BS. A real Senior engineer can code the entire solution by himself in 6 months , instead of a team of 5 juniors over 2 years.
A real senior engineer - worth 10x the salary of a junior, and at least 5 time the one of his direct supervisor - for one reason:
You can remove everyone in the product team that doesn't have at least 5 years of experience developing code. And you will have better results at delivering your product.
In your case, you probably will end up with zero employee.
Now how much money are you offering this Senior engineer?
Will you pay him/her the equivalent of the whole team you just fired? Or just advertise a "competitive (LMAO) " 170k$ package with amazing bonuses...
Which is like what.... only 40% more than the Junior that costs more time than it actually saves?
Maybe start respecting what it means to be a performant senior engineer - Most of them died of depression, burnout - or jumped in the management wagon - because they were too tired of corporate BS and saw no points in even remotely trying to deliver technical solution in an environment where they don't have decision power - while at the same time - nobody in the hierarchy above (and under them) slightly understand the blueprints.
When you realize the value of this rare person, you can think of multiplying the salary package by at least 3.
Then, you can do your interview rounds.
The heck! if I ever want to work in a tech team again - that either will be at a market salary (understand getting paid 5 times less than what I technically worth) for an ethical projects - which is rewarding for my soul and self respect - OR - I will get a 500k$/y for a basic coder job at Google/FB/etc.
Maybe you are not looking for a senior engineer, maybe you are looking for an intermediate one.
If you come to hire a senior engineer at that salary, be warned: he's not a senior.