I hear the phrase "learn to code" around the rat and postrat communities occasionally. From context I get the main argument, the income is good, the work isn't too difficult. Has anyone written a fuller argument for learning to code? Or what is your favorite version of the argument? I'm considering a career change and want to hear it out.
Here are some reasons:
Jesus christ. If I made that kind of money I could literally retire in a decade and then do whatever I want
I learned to code in R pretty well during my PhD, and I do enjoy it. It's usually relaxing, solving the problem feels good when you get it. I'm better than my colleagues at debugging and problem solving our code (data engineering mainly)
To be clear, you are talking about the salary for software engineers. Is that a better ladder than data scientists or data engineers? (my skills are closer to either of those fields currently)
The software engineering ladder is wider, not taller, than Data Scientist - DS roles typically specialize to a domain earlier than SDE, and the variance in pay across companies and specialties shows more for DS than SDE. Data Engineer usually implies a bit less independence and more well-defined problems, and pays a bit less overall.The good meta-advice is to spend some effort thinking about your comparative advantage(s), and to recognize that taking a job isn't a life commitment - pick the one that seems promising, but after a year or two you should do your search again. Especially in early years, changing jobs is likely a much faster path to promotion (and actual growth in understanding how different places do things) than staying at one place.
The ladders for data scientists and data engineers tends to be comparable at these kinds of companies. If you have a quantitative PhD with an emphasis on any domain that has transferable domain knowledge (i.e. anything math/CS/econ probably counts) then you might even be able to start one step up the ladder. But even if you just learned R to do data analysis in some other field that would probably make it much easier to pick up, say, python, and hop sideways.
I should note that the junior-level compensation is probably the most difficult to attain if you're coming in from another field, since the major pipeline is "college grad with several internships gets hired start into big tech company". By comparison it's much easier to get any sort of entry-level engineering role (which is still going to pay pretty well), get a couple years of experience, then go on to one of the big tech companies. (It's not impossible to get a junior role at a big tech company straight out of the gate; I know several bootcamp grads who have done it. It'll definitely be made easier by having a PhD.)
If you're into information then learning to code can help you acquire more information more easily and process that information in beautiful ways that could be laborious or impractical otherwise. That's probably the simplest explanation with the broadest appeal. At the risk of downvotes (maybe there are a lot of professional coders here), I'm not sure why anyone would want a job coding because then you risk the fun aspect for someone else's purposes in exchange for some tokens and quite a lot of your time.