Success makes you a target.
Genuinely interested why this comment was down-voted. If you haven't come across this phenomenon yet, I'd like to know where you work :-)
21–30 of 37 posts
Success makes you a target.
Genuinely interested why this comment was down-voted. If you haven't come across this phenomenon yet, I'd like to know where you work :-)
In the age of Info Overload - Never ask vague questions. You are asking for irreparable brain damage. It always good to remember we have 6 inch chimp brains. And its getting very easy to fill it up with useless bullshit totally unrelated to your reality. There are too many chimps jabbering away online all very different. There is a big spectrum of personality types in the chimp troupe, thrown into all manner of situa…
I am a Lead Developer, I haven't hit my 10 year mark, it's coming up in a few months. -- 1 year -- Write code. Read code. Listen to other Devs. Start saving code snippets with a short explanation of what its doing. It will get easier, you don't suck, you are not bothering the Senior Devs as long as you show them you have done work and got stuck vs wanting to be spoon fed. Communicate clearly. For Sr Devs looking at y…
Really want to emphasize the "read" part of this. It's an important learning tool. But also, that first year dev probably doesn't realize that it's a large part of the actual job. Maybe even the majority. You need to read other people's code because you need to be able to write code that interacts with it. You also need to read your own code from time to time, at a distance in time where you may as well be another person. Be sympathetic to the readers and be one yourself.
But statistically it's faster to advance by applying to the many more numerous senior openings arising elsewhere than within your own company. You probably have the same chance of promotion in-house that you do for acceptance to a job out-of-house, but you'll get many more shots-on-goal by applying out-of-house.
So in brief, to advance quicker, change employers.
10 Year: It's much easier to get a job, but it's also much harder to keep your job, especially if you just got hired by a new company. an engineer who spends 4 years at one company will be more qualified to work there than a brand new engineer at that company with 10 years of experience. So, at this level, when you join a new company, you'll have to work extremely hard.
If you want the very highest salaries, you'll need to jump ship. it's hard work but the more often you change jobs, the higher the salary.
personally, i think, once you get past the middle of the bell curve, any additional raises are of diminishing returns. you'll work harder and harder for less and less money.
don't let mean companies with bad cultures take advantage of you. there still exist companies with good work cultures where you don't have to be a full time slave.
Your job performance is determined by the following: 1/3 - your own hard work 1/3 - how well you do politically (play nicely with others) 1/3 - factors beyond your control (just one example: working in a rapidly expanding industry will be greatly in your favor)
The real magic happens when you get to say "OK, I can solve this problem by combining technique X (which I learned on that project 5 years ago) with tool Y (which I picked up last week).
This doesn't mean you should try and introduce the latest hot framework on everything you do, but it does mean you should always take an opportunity to learn a new trick - even something as simple as writing a Bash script to automate a process that usually takes three steps on the command-line.
So take a lot of notes. A few years ago I started trying to learn in public as much as possible - making notes for myself on GitHub Issues and publishing TILs ( https://til.simonwillison.net/ ) - and it's really paid off for me - I feel like I learn faster and waste less time revisiting old things. But you may be more comfortable keeping private notes, and that's fine too. Just make sure they're well backed up!
Getting a job anywhere is a challenge. Cast a wide net with an open mind. In all likelihood you will leave this job on or before year 5. Accept a lower salary in exchange for experience but don't compromise so much you're below average. Don't fall into the silicon valley trap unless you're already there and/or are willing to destroy yourself for a job. You're getting this job to get your feet wet and start to develop yourself. Grinding leetcode is a waste of time. Do enough to get the job but don't do it to diminishing returns. There's no amount of leetcode that will land you a higher position anywhere. At the end of the day to advance past junior you need more than programming skill. You need the ability to show project management, self direction, and leadership. Leetcode teaches you none of this.
Keep humble and learn from everyone. Ask a lot of questions and keep in the back of your mind eventually you're going to have to find a stack you're good at. For all the pitches about "generalists" I've never met a high level engineer good at everything. I have been a backend engineer for 10 years. I have 2 languages I'm good at and a billion I'm familiar with but would not consider myself senior level. If you asked me to write a frontend I would not be able to do it.
Importantly start saving now. This cannot be emphasized enough. You're going to be making more money than you've ever made in your life even on the low end. Live frugally and within your means. Save diligently and max out your 401k and IRA. Take advantage of any savings vehicle you can find. To put the numbers into reality, if you can save $100,000 and you fell into a coma at 7% interest you'd be worth over $700,000 dollars. You need to take advantage of compound interest as soon as possible.
Year 5:
You're likely low-level senior at this point. Jobs are far easier to get, and you're likely settled into a stack you like. Move jobs frequently until you find a place where you can grow properly.
Stay humble, you don't know everything. At this point it's critical you don't let your title get to your head. You will come across people who are junior to you that teach you a thing or two. You are not senior because of your programming talent. Remember that. You are senior because your experience allows you to deliver _despite_ your shortcomings.
Begin setting your eyes on a staff/management position. Pay attention to how they act and emulate it. Always remember to take care of your juniors.
Keep saving money. Never stop.
Despite the calls for "full-stack" understand that "full-stack" engineers are often mediocre at everything instead of good at one or two things. This is great for job hunts but bad for advancement. A good parallel, because you will wonder if you should go "full-stack" is Walmart. You don't go to Walmart for high quality engineered furniture. You go there because it gets the job done. At the 5 year mark you should be starting to become an artisan and you will see the shortcomings of engineers who stayed broad for too long.
Year 10:
You are likely coming up or already have a management or staff level IC position. All advice from Year 5 applies. At this point though, leaving jobs becomes less beneficial. The only way up is through "works of God" - meaning most of your promotions above this level will be political in nature. There are diminishing returns to moving companies as you will often been embedded in a company's culture to reach a staff position. Leaving the job becomes hard because you can't leetcode your way into a staff position somewhere else. You need enough experience to be able to convince another company you can contribute at this level there. I would aim to stay at a job for as long as possible at this point.
Know how to take advantage of people's abilities. As a "super senior" you will be expected to know a lot of things you won't know. Respect your coworkers and identify things. An example of this for me is I am not very good with social things. I've recognized this and I also have almost no interest in diverting time to develop higher EQ. Instead, I lean on people on my team who are already good at these things. For example, there are people on my team who are okay engineers but superstar people-persons. I can easily compensate for their engineer and they can compensate for my underdeveloped EQ. Work symbiotically with your team and put people, and yourself, in places where you can most effectively complete the mission.
The industry is highly ageist and it's not uncommon to "age out". You should be planning for this. What I mean by this is you should be exploring lateral moves in your field. You are likely extremely, extremely good at one or two things. Ask yourself where you will go if your stack dries up. Are you willing to start back at junior in a new stack? Probably not. So, consider what it would take to possibly laterally move into management if you're capable. By year 20 the probability of your stack disappearing (see: Ruby) is pretty high. Have a plan.
Again, save save save. The power of compound interest is incredible. Do not squander it.
1 year advice: It's very hard to get a software engineering job but stick with it, get work experience any way you can, even if you have to work pro bono. Get as much programming experience as you can. Don't over reach on your resume qualifications, but do go into great detail. Instead of saying: "Skills: Javascript". Go into details, for example: "Skills: Javascript, Front end dev experience: Tabs, pagination, leade…
Programming jobs here are plentiful, you should never work for free, your very first job might be a little harder to get than later ones but it won't be hard. And listing things like "tabs" and "pagination" on your resume feels really desperate, like you're scraping the bottom of the barrel to pad out the list as much as possible. The closest thing I would suggest is to maybe list some specific frameworks like React or Redux (or the equivalent for your area); though even then it's not really for the technical recruiters, it's for the imprecise algorithms that sift through the pile
1 year advice: It's very hard to get a software engineering job but stick with it, get work experience any way you can, even if you have to work pro bono. Get as much programming experience as you can. Don't over reach on your resume qualifications, but do go into great detail. Instead of saying: "Skills: Javascript". Go into details, for example: "Skills: Javascript, Front end dev experience: Tabs, pagination, leade…
Can I ask what country you're in? I'm in the US and my experience suggests the exact opposite of nearly every point in your first paragraph Programming jobs here are plentiful, you should never work for free, your very first job might be a little harder to get than later ones but it won't be hard . And listing things like "tabs" and "pagination" on your resume feels really desperate, like you're scraping the bottom o…
But, even now, I thought it would be harder to get a job as a junior role than senior. As a hiring lead, 5 years back, i remember, we could have our pick of just about any overqualified intern we wanted. we got one guy who already had 1 to 2 years of work experience, just so he could be hired as an intern and he was awesome.
As for being detailed. mentioning implemtations isn't just about padding out. It's about providing an accurate picture of what your experience is. It's not enough to simply say "i am intermediate JS experience". that doesn't tell the interviewer much. furthermore, most people aren't very accurate at rating themselves. overconfident people think they're experts and experts with no confidence under-rate themselves. by mentioning implementations and specific experiences, it allows the interviewer to more accurately guage your level of expertise.
Earlier quoted context omitted.
Can I ask what country you're in? I'm in the US and my experience suggests the exact opposite of nearly every point in your first paragraph Programming jobs here are plentiful, you should never work for free, your very first job might be a little harder to get than later ones but it won't be hard . And listing things like "tabs" and "pagination" on your resume feels really desperate, like you're scraping the bottom o…
Well, I started my career in the US durring the dot com bubble bust when absolutely no software engineer could get a job no matter what they did. this no doubt informed my views on the subject. But, even now, I thought it would be harder to get a job as a junior role than senior. As a hiring lead, 5 years back, i remember, we could have our pick of just about any overqualified intern we wanted. we got one guy who alr…