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.
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 transparent about your mistakes and learn from them - better yet, help make sure others won’t make the same mistake.
Read the damn code
So many problems can be solved by just reading the code. A corollary to this: make sure the code you write is readable.
Another correlary: learn lots of languages, even if you’ll never use them. I never want to fall into a codebase that I’ve never even learned the paradigms. One procedural, one functional, one OOP, one interpreted, one compiled, one byte code compiled, one or two command line scripts, regex, all the structured data text languages: XML, CSV, JSON, YAML, TOML, … A JavaScript framework. HTML. A relational database, a non relational db. REST.
Should be enough to get started lol. But you learn something from each, about code architecture at least.
Always learn the languages preferred directory and repo layout structure, never invent your own.
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.
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.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?
Afaik (I’m an environmental geologist) Climate Modeling isn’t really tech, or the tech industry, it’s more academia. Most climate modelers I know of are working off grants in university labs. That may/may not help you get into it, but if you’re seeking something that is a deviation from teaching/education, academia isn’t much better for all the same reasons really.
Do you have a background in climate science or environmental science? Or modelling for that matter?
I don’t have a background in it. I’ve been a public school music teacher most of my career, but I’m also a lifelong nerd and the draw of making a difference in climate change using math has been just too attractive these last few years. In January I start online classes in statistics, Python, and data management/analysis from a local university. I don’t want to end up in a university lab though. I understand that breaking in in a new career will mean taking what I can get until I’m better experienced.
What area of the country are you in?
Water conservation and environmental protection are probably your best available avenues into a climate science career of any sort. I’ve worked in environmental since 2012 when I got my master’s. I specialize in hydrogeology, but there are lots of fields. The problem you will run into is they are gated by credential barriers at a certain point - specifically PE/PG requirements. If you have the math portion you are probably well capable of passing the PE exam, you just need the experience and recs, so you may want to tailor your class load to put you on that path. Engineer’s also generally have higher pay brackets so there’s that little carrot as well.
Most environmental based companies, regardless of their area of focus, have modelers and need engineers of various backgrounds. You typically don’t get hired into modeling, but can sort of steer yourself that way once you’re established. I’d recommend you avoid environmental consulting - it does not sound like the work environment you’re looking for, and most clients end up being polluters. Water Purveyors could be a really interesting target to aim yourself at. They do SO MUCH more than water supply, and they are constantly looking into all kinds of interesting projects. When your job is to supply an ever increasing population with an ever dwindling supply of a crucial resource, creativity is very much necessitated.
“what area of the country” 🙄🙄 You know there’s more than one country?
I’m am absolutely positive that OP only lives in one country, not two or three. Do you think he lives in more than one? Or are you just surfing around trying to be pedantic?
Water Purveyor wasn’t even on my radar - thanks so much for that insight! I will definitely look into it. I did worry there would be some certification barriers that might be difficult to achieve either because of time or expense. I’m on the east coast, though, so not perhaps in an area where water conservation is front of mind for many.
As far as barriers, better to know where they are and how big they are now so you know exactly how high the metaphorical ladder you need has to be. All municipalities have water purveyors of some sort, but you’re right in that they’ll likely be less focused on conservation. They won’t however be less focused on protection and they may still have beneficial use projects. Also that’s not inherently bad news for you - it means a likely lower barrier to entry.
Anyways best of luck.
I did the same at about 43. Had some tech support background and could talk the talk, so that helped.
Got no solid advice, except to so it doable. And don’t let anyone tell you coding is a “young man’s game”. That held me back for years. We got coders of all ages, beginners to near retirement.
That’s so good to hear!
Be patient. It takes time to “get going”.
If you know how to program, you’re in a good spot. If you don’t know how to program, start with fundamentals.
SICP is good. It’s Lisp. You’ll probably never write a line of Lisp professionally, but it will help shape how you reason about solving problems.
Develop some solid fundamentals.
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.
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.
Depending on your specific field tough.
In front-end there are so many opinions it becomes a lot of noise so you kinda have to narrow your focus.
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.
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.
Yup, and this applies to any company. If you don’t own the business, you are a line item, not “family”. Always be ready to jump ship for a better opportunity, because they will do the same.
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.
CYA in a nutshell
UPDATE: I added some clarifying points in light of getting some of this wrong. I believe the underlying point still stands.
No. I believe I understand why you think so, but just no.
At best, covering your ass means gathering evidence about how much you tried to warn the people making decisions, in order to avoid or deflect blame when things go wrong and someone starts wandering the countryside looking for people to blame. I’m not suggesting that. I’m not even suggesting saying “I told you so.” when things go wrong.
Quite often, at least how I’ve seen it, covering your ass involves not even trying to do the right thing or, perhaps, pretending in public to do the right thing in order to have a plausible excuse when things go wrong. That’s also not what I’m advising.
I’m advising not to accept responsibility for other people’s bad decisions. If you genuinely did your best to influence their decision and they chose poorly anyway, don’t take responsibility for that choice. The responsibly remains with the person who had the authority to decide.
For example, if the OP decides to listen to you instead of to me, that’s not my responsibility. I’ve tried to explain my position, but the responsibility for choosing what to believe belongs with them. I’m most definitely not covering my ass; I’m recognizing that I’m not responsible for replacing OP’s judgment with mine. If they ask me for more information, I have the responsibility to provide it. If they ask me to clarify my position, I have the responsibility to do that. But I am not responsible for convincing them nor for their final decision.
Covering your ass typically involves not trying to do the right thing or, perhaps, pretending to do the right thing in public in order to have a plausible excuse when things go wrong
You have a very different idea of CYA than I (or the other poster). To me, CYA means ensuing you have evidence that tried to do the right thing and were overruled, so that you will can (justifiably) avoid repercussions when the failures you warned about come to pass.
I’m with you. Two things.
One, I assumed that the commenter was referring to the cynical kind of CYA, which I was certainly not advocating. I might well have got that wrong; only the commenter knows what was in their heart. Oops. I’ve tried to clarify my first comment, just in case that helps anyone else reading.
Two, I said nothing about gathering evidence to be able to produce when needed. (And I genuinely wasn’t thinking about that.) I merely said that if you tried your best, then you did enough and not to feel responsible for their decisions.
In both cases, I don’t think I suggested covering any ass. I certainly didn’t intend to.
Thank you for clarifying and not letting me off the hook.
deleted by creator
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.
YMMV; staying can work well but you really have to know your employer, and be able to roll with the punches either way. It can be equally risky to be the new guy again. Always have an honest understanding of your replaceability.
If you’re irreplaceable, you’re probably doing something wrong, at least in tech.
All technical fields especially should have a high bar for documenting what you do and how you do it, requiring documentation in every form and for every aspect. In my field, IT support/sysadmin/network admin, process, procedure, common fixes, system set up, network design, etc should all be documented. The only down side to having to replace me should be the long lead time for the new person to chew through the documentation to fully understand what’s going on and how it’s all interconnected, and not much more.
IMO, person to person “knowledge transfer” as my current employer currently implements, is unviable, and should not be allowed to be the norm. There should never be only one person at an org that knows the job, and the current state of affairs and why the current state is what it is.
If any org does have that single worker point of failure in knowledge, then they’re just one incident with a bus away from significant risk of their systems entirely collapsing. I call this the individuals “bus factor”, aka, if you’re hit by a bus, how fucked is everyone else? An IT person’s bus factor should always be low since almost all businesses are data management companies that make money doing X; everything from users Rolodex, to the CRM, to their communications and daily working tools, are almost always entirely dependent on IT, in some way, shape, or form. Less so for companies doing non-computer controlled manufacturing, but any desk job, or white collar office would entirely collapse if their IT staff was suddenly unavailable and their IT environment was to go down. At that point, just close up shop.
I don’t think I agree with you, replaceability depends on a lot of factors, really.
I’m a lead dev who works mostly in test automation and dev ops. I can assure you that no matter how much and thoroughly I document and share knowledge (I’ve became known in my company for that since every piece of doc has my name somewhere on it lol) I can’t see anyone around there being able to fully take the reins if something happened to me.
in my case, it’s a mixture of talent crisis in the industry, lack of interest/expertise in the field and my own company’s culture (that doesn’t value these infrastructural subjects enough). I bet other people from different areas in tech might share different reasons
but all in all, being irreplaceable is hardly an employee’s fault. if a company can’t manage to lose an employee (or lets people get away without documenting/sharing knowledge) it’s entirely their own fault!
I absolutely get what you’re saying, and it definitely depends on a lot of factors, mainly how easily replaceable you are.
I agree with the fact that it takes a combination of talent, experience/expertise in the field, and the company itself (mainly it’s culture) that can dictate a lot of that. However, things like previous experience, and talent are not exactly things you can pass on to a new technician via any form of documentation without chronicling your life story with every instance of needing to do anything remotely technical which may lean into the problem-solving skills and thought process you uniquely have, and even then, on-boarding that experience would be a monumental challenge. Simply put, that’s not practical. Even that, doesn’t account for any ability to pass on talent, which isn’t quantifiable in any meaningful way.
The main argument I have is that the knowledge of the organization’s systems, how they interconnect, why those interconnections matter, how they work, etc. should not be up for question or debate; and it should only be a matter of finding someone with relevant past experience in similar systems, with sufficient talent, who meshes adequately with the company culture, to be found, in order to replace someone.
Unfortunately, finding someone with sufficient talent is often the most difficult part, and since it’s difficult to assess talent in an interview or even a set of interviews, it’s usually impossible to know if someone is going to “fit the bill” so-to-speak, until they’ve been thrown into the fire… This is the reason for the probationary period of most workers, both for the benefit of the worker, if they’re not meshing with the company, and for the company, if the worker isn’t capable of doing the job. Unfortunately, often, especially with I.T. work, it’s difficult to know whether someone is going to work out long-term after a few months, especially when the amount of knowledge someone needs to have to actually do most tech jobs is so monumental that it’s unlikely that the new hire is going to have any significant depth of knowledge in the technical systems within a few months of being hired.
All of this sets aside the factor that every individual is unique and makes unique choices and contributions to the whole, so even “replacing” a very replaceable individual position, isn’t a 1:1 comparison, the new worker may be worse, or indeed, even better, than the previous one, but rarely, if ever, would perform EXACTLY the same in every circumstance.
My core argument is that the information about the system (which needs to be supplemented by talent and experience), should never be lost if an employee decides to walk (either by finding a new job, walking in front of a bus, or off a short pier). If that information is lost, it’s a significant managerial oversight which allowed that to happen.
yep, agreed will all of that
in any case, I never been somewhere where this is properly done to the letter (from an individual’s or managerial’s perspective). not that I REALLY care tbf, I just do my part to the best of my knowledge and fly away hehe
I can appreciate that. I just think we were arguing the same points overall; and as demonstrated, there’s a lot not nuance, not only to the idea of what “replace” means, whether it’s simply having someone fill the role, or having someone do the same job at approximately the same efficiency and level of output, to what other factors may go into the job that cannot be transferred to newcomers by way of speech, text, or video.
There’s certainly a lot to the discussion, as is the way with many things, but the amount you can help the next person by why of documentation, should always, ALWAYS be something that’s baked into the job.
Hilariously, I advocated for better documentation at my employer, they gave me every excuse under the sun about it. I was only really asking “which documentation system are we moving forward with?” And got no clear answer. Work has ~4 different sets of documentation, all of which are in varying levels of being obsolete, irrelevant, or incomplete. I wanted to fix it and nobody could decide what to do, so I did nothing.
About two months ago, I hit burnout, and now I’m on medical leave. So essentially, I had a bunch of information that nobody else had, and I was incapable of putting it into documentation, either due to the uncertainty of where to put it, or the whole zero hours a week that work gave me to document things… And then I was metaphorically hit by a bus.
Sucks to be them.
yeah. I have the feeling that this story is way too common. which is very telling of how much the system isn’t driven towards innovation as many claim. we brag a lot about human ability to pass down knowledge via written language and turns out that most information passed down on some of the highest tech industries is done verbally or not at all! lol
:wq
:q!
I wonder how many files I’ve accidentally left that in while I wasn’t in vi.
For me, probably a lot.
:x
I don’t like that as much because it’s not as clear what it does. I remember “:wq” as “write quit”.
Years of imprisonment avoided
Exercise regularly. Maintain good posture. Stretch. It kills your body, working at a computer all day.
Above all else here, this.
Don’t burn yourself out, document everything.