Don't burn out! Ask for help and guidance when needed, and take care of your mental and physical health (get a hobby, go out with friends, go to the gym, etc.)
I've seen brilliant people burn out and end up leaving/missing out growth opportunities because of it. Now that I manage people, it is my biggest area of focus because many times the best employees are the most at risk. They keep getting praise and asked to be involved in more and more and it becomes hard to say 'no' to new projects, responsibilities, etc... Until it is to much.
When it happens everyone looses, your boss, your team, the company, and especially you.
You're not responsible for the bad decisions made by the people who have positional authority over you. Do your best. Warn them about the risks. Let yourself feel disappointed by their decisions, but don't ever accept responsibility for them. If you did your best to warn them, then you took your responsibility seriously. That's enough.
If you're a developer, read the source code. People will tell you how they remember things working, or how they think they should work. The code is what it is.
Understand that technology cannot fix people problems. Always remember that. If you're asked to solve a people problem and you don't understand it, you will suffer. Only management can fix people problems.
Everyone else here who said, "Keep learning" is right on, but don't forget to work on your soft people skills along with your tech skills. Whether your long term goal is to stay in development or some other aspect of the industry, you should be comfortable talking to all sorts of people (management, sales, customers, etc...), making presentations, being social at conferences and so on. We (techies like me) tend to forget this, but it's really important.
Imagine yourself starting your own company in five years or being the senior manager of a large group. How are you going to like meeting new people every day, selling or at least explaining your product or service to them? If the answer is "not very", then start working on that now.
If you have an opportunity to learn a new platform or technology, take it. Every environment has a different way of organizing, implementing, troubleshooting, etc. Each one you learn gives you a new way to look at a project, and teaches you something about how other people may think about projects, problems, and solutions.
People who stick with the same tech for decades are also stuck with the same approach to new projects. When the only tool you have is a hammer, every problem looks like a nail, and all that. Get more tools in your tool belt.
Ask the experts from help, and learn from them. Don't ask things you can legitimately learn really easily on your own by just doing a quick read of the code, but the bar for questions to not be stupid is pretty low. In most projects with any complexity, it's probably overall saving the company money if you ask someone who knows and can save you time, instead of wasting a ton of your time reaching the same conclusion. But next time that problem comes up, you should know how to solve it, so it saves everyone time.
If you're offered a job with more money/benefits or whatever, take it. Don't give your employer the option to counter. And if you ever do let them counter out of curiosity, don't take it... Leave.
There's too many horror stories of people basically staying on after a counter-offer, only to train their replacement and end up tossed out anyways.
Loyalty doesn't mean shit in tech; any promotion you get internally at a job will be pennies compared to what you're able to get by shopping around; so do yourself a favor and run whenever the opportunity arises.
Are you sure? I think the golden age of the magic tech jobs is nearing its end. If you want to join the tech industry because it's an easy ticket for a successful life then you might wanna rethink that. If you want to join the tech industry because engineering is pure magic and you want to be a part of that, then by all means, you do you. Just be ready for it to be a bumpy road if you aren't able to adapt to whatever AI does to the industry over the lifetime of your career.
Find companies who will treat you right, and where people are real and do real shit. When I was first starting out, a project I was working on was behind. I stayed over the weekend, even though people told me not to. I finished, I was proud of myself. Then I came in on Monday and everyone else's stuff was behind anyway, so we missed our deadline regardless, and in the end it didn't matter. Right around that time was when I decided, more or less, to hell with this. At the company I eventually jumped ship to, my boss would regularly push back on clients who wanted us to work weekends, come by and encourage people to live a normal life instead of just a working-to-death life. Basically, he looked out for people. So I stayed there for quite a while. Basically, after that experience, if the boss wasn't looking out for me or the tech was shoddy, I bailed instantly. You gotta have a good human life and take pride in what you do.
Own up to your fuck-ups. You'll make some. I've destroyed important hardware, made massive architecture mistakes on client work which the clients then identified and talked to us about, deleted the partition table on an important public-facing server, you name it. When I did something like this, I would be 100% upfront about what happened. In good working environments, people would recognize and give respect for that, because nobody's perfect. In bad working environments, being upfront about mistakes would somehow be a bad thing (see point #2). The answer is not to become sneaky. The answer is to leave and go somewhere where people respect honesty. Those places do exist.
Ultimately tech is a tool to help automate and solve people’s problems. You want to get close to the people your solving problems for so you can get feedback and figure out how to do your job. Your organization may not do this for you. I spend a lot of time on forums listening to my users, and do a lot of extra testing to make sure I’m solving there problems and not making new ones.
Tech is a field that is constantly evolving, whether you're a developer or IT service desk, the tools you use today will probably be very different 5 or 10 years from now. Never get stuck in a rut, it'll burn you later in life. Remain curious and keep learning the new things coming out.
Remember tech-companies exist to make money, not to "do good." Whatever problem they are supposedly working on, they are only doing it because someone thinks they can eventually turn it into a revenue stream. Don't drink the kool-aid, be a mercenary and get as much out of it that you can until you can leave for good. Dont' be the like the smuck's that are still working at twitter.
When interviewing, if a company gives you the "We work hard and we play hard" line, run. It actually means tons of unpaid overtime in exchange for some snacks and a broken ping-pong table.
At my first professional job, there was one guy who always came in at exactly on time and never stayed late. I always thought it was weird, I'd typically stay at least long enough to finish whatever thought I was working on, and sometimes later just because I had nothing important to get to. Eventually I became one of the guys to go to when you needed someone to stay late. I didn't mind, in fact I like being helpful. Looking back, I realized that I gave the company a lot of free work and didn't get anything for it.
It seems obvious but important to realize from day one, you are setting expectations. A "good" manager will figure out pretty quickly which employees they can exploit and how.
you will end up bringing down production or make a however many tens of thousands of dollar mistake. Don't worry about it too much when it happens. That sort of thing doesn't usually get you fired the first time.
Be hard-working but loyalty will take you almost no where. Every 2 years you should start looking for a new job with better pay and less hats. If you are a year in and hate it just switch to somewhere new. I got 2% raises at jobs year to year but switching jobs for me got 20% - 40% more.
It can depend on the area you're going into, but things like continuous learning of new skills, as well as keeping up-to-date with the latest happenings in that field, are always good ones to do.
I’m looking to change careers into tech at 43. I’ve been a teacher my whole life but education is…just not a good job anymore. I’m very interested in data science and would love to end up working on climate modeling but I’m practical and understand that I should take what I can get. Anyone have some career wisdom they’d be willing to share?
Always stay relevant with skills and knowledge relevant to the market - one day you work for papa Google and everything is great, another day you'll get fired without you seeing it coming - job is not a family.
It's fun and games to master a skill/technology, but if there are no jobs for that, that is a red flag.
Generally it's important to keep the hobby-job balance, and to understand that sometimes your hobby specifically won't be your job, and that is OK because most of the people are like that.
This sounds like a conversation for you and your manager. I've had a few with my team that have resulted in different solutions for different people.
With one we established a monthly 1h call for her to explain where she is stuck, what she has tried, and we brainstorm how to get through it. This is separate from our usual weekly check-ins and focuses on issues related specifically to complexity and ambiguity.
With another, he created a list of what she thinks needs to happen and puts together ideas on how to get through it. I review it and then give him feedback. He liked this as over time he built confidence on his ideas as my feedback more often than not was "exactly what I would try, go for it".
Finally, sometimes is about reducing the work load on that team member until they get a good foothold and slowly start adding more.
Shot answer, no one solution or easy path, but communication with your manager and hopefully a good manager is your besy bet.
Here is what I did. I bought an IBM ThinkServer and put as much ram as I could in it (32GB; keep in mind this was 2015). Then I loaded it up Windows Server by itself and played with the Windows and its features. Then I loaded Hyper-V to play with virtualization and created my first domain environment, learning DNS, DHCP, GPOs, an Exchange Server, and VPNs. I ended up throwing a 4-port NIC in there and set up pfsense on a VM to act as my firewall router so I could learn VLANs, traffic shaping, and security. Then I put ESXi on there and learned vSphere and vCenter. You can sign up for an NFR key from Veeam and play with backing up a virtual infrastructure.
There is so much you can do. I started out on Helpdesk in 2015 and now I am a Senior System Engineer that works with the VMware platform all day. If you invest in yourself, it will directly invest in your future and how quickly the promotions happen, and the amount that the responsibilities increase. Feel free to reach out and DM me if you have any other questions that I could help with. Good luck to you!
Don't get overwhelmed if the task seems too difficult or complex. Take time to write it out on paper, break it down in smaller parts and tackle them in turn.
But... Also be honest with yourself if you're struggling, there's no shame in admitting that you need the help of someone more experienced.
If you aren't sure what to do and like servers etc, just do the Microsoft courses. Having these on your resume gets you ahead of people that don't have them at all.
One of the best things a Senior Eng taught me was to understand and ask questions about every single line of code in a file you’re touching.
It’s daunting, and time consuming but the rewards are vast and eventually it will be much quicker. Of course it’s easier to follow patterns and make quick changes, but it’s more valuable to fully understand what you’re doing instead of suggesting changes that should work.