7 ms·
Ask HN: If you only do programming at work, how do you manage your career?
People who say they don't do programming outside of work hours, I'm kind of surprised at them. I was thinking that I needed to in order to stay on top with marketable skills. But if you don't make software on the side outside of work hours, how do you manage your career in programming so you don't fall off the rails?
Were you just lucky enough to get into the right jobs that keep you doing work that is highly in demand for the moment? Looking back, I kinda wish I started my career with a slow-moving Java or .NET enterprise work because, although not being very sexy, it is comparatively stable to front end web development.
- scarface74 6y agoYou kind of hit the nail on the head. If you don’t want to constantly be on the treadmill, don’t focus on the front end. The further down the stack you go, the slower technology moves and the easier it is to stay relevant. Besides, just from looking around, front end pays less and it’s easy for most companies to find cheap “good enough” front end developers. As far as being “lucky”, it’s not luck. If I see my employer’s stack falling behind the market, it’s time to jump ship. Why would I work at a company all day and then come home at night trying to keep myself marketable instead of just changing jobs? There is usually a job out there where the “must haves” are $old_tech and the “nice to haves” are $new_tech, rinse and repeat. You could always take the r/cscareerquestions tact and “learn leetCode and work for a FAANG” (note sarcasm).
- mrfusion 6y agoWhy does the front end change faster?
- _bxg1 6y ago> The further down the stack you go, the slower technology moves and the easier it is to stay relevant. I don't think this can quite be generalized. Front-end web certainly moves the fastest, but does Windows application development move faster than lightweight microservices? I doubt it.
- scarface74 6y agoLightweight microservices are still overwhelmingly a Java, C# and Javascript. The technology hasn’t changed.
- linguae 6y agoAs a counterargument (or perhaps as a corollary), backend programming is also a treadmill these days. It may not have the churn of the world of front-end Web programming, but the world of backend programming in 2020 is quite different from that of 2010. As someone who does mostly backend work, within the past decade I've seen the rise of cloud services, non-relational databases, the Hadoop ecosystem, distributed storage systems, containers, the increased use of languages outside of C/C++/Java for systems programming (e.g., Python, Go, Rust, Clojure, Scala), machine learning, and CUDA, among many other technologies that were either nonexistent or were in their infancy in 2010. A person who stayed stuck in the world of 2010 might be overwhelmed by how much has changed in the past decade. Heck, even C++ has changed dramatically over the past decade; someone coding in C++98 would need to get up to speed with C++11's fundamental changes as well as changes added in later versions. Now, there are some levels that haven't changed as much in the past decade. The kernels of today's most widely used operating systems are still written in C, and x86-64 still remains the dominant instruction set despite an increased challenge by ARM64 and the possibility of RISC-V. Someone writing kernel-level code in 2010 would feel at home today in 2020, notwithstanding the natural kernel code changes that have always happened. However, the job markets for kernel developers, compiler developers, and those writing low-level system software are much smaller than the job market for backend programmers overall, and it's possible that a laid-off low-level systems software engineer would have to get up to speed in all of the advances that happened in higher levels of the stack in order to more easily find another job.
- badpun 6y ago> As someone who does mostly backend work, within the past decade I've seen the rise of cloud services, non-relational databases, the Hadoop ecosystem, distributed storage systems, containers, the increased use of languages outside of C/C++/Java for systems programming (e.g., Python, Go, Rust, Clojure, Scala), machine learning, and CUDA, among many other technologies that were either nonexistent or were in their infancy in 2010. You've missed what is maybe the worst offender - kubernetes and microservices.
- scarface74 6y ago
- draw_down 6y agoWell, the tools I learned to use are not just evaporating. They are still in use at many places and will be for the near term future. New things I tend to learn on the job. (Some examples: react hooks, webpack & build tooling, graphql) I guess we are now entering into a new world, so we will see. But beside that, there is so much demand and opportunity, I don’t see why I should fear for my career. What are “the rails” and what does falling off them look like? The other thing is, new stuff tends to just be repackaging of old stuff. Once you’ve seen a couple cycles of this you stop worrying about it.
- non-entity 6y agoMany people I know like this found a stable job in government or a large corporation and for the most part states put there. The may have had a few other jobs, but like you mention it's all enterprise stuff which moves slow enough. They also have tend to have different motivations, whether that be a family or unrelated hobbies. Tbh sometimes I envy people like this and sometimes I dont.
- scarface74 6y agoThat’s fine until the large corporation lays them off, they find their skillset is not marketable and then they start whining about “ageism”. (I’m in my mid 40’s and I’m still a developer FWIW)
- indemnity 6y agoI’m kind of like this... been at current employer around 8 years. Motivation: very strictly 9-5 which is great for my toddler kids and personal side interests and being able to keep current even if employer is boring tech. Healthy compensation means I will be mortgage free in 2 years. Profitable large company that will easily weather the coming storms (have always been tight with budgets), and not worried about layoffs since in growing + future investment part of company. If it all goes to shit, once I own my house outright I don’t care, since wife owns a recession proof revenue producing business on which we can survive if I need to retool (can’t survive on only that while we have a mortgage payment on solely that income tho). Many reasons for something like this.
- ThrowawayR2 6y ago> "I was thinking that I needed to in order to stay on top with marketable skills." These people are fine not being on top and are consciously or unconsciously accepting the risk of falling off the rails. The risks have been fairly low for the past decade or so since software's role has just kept growing and growing in society and, at least for the foreseeable future, that growth doesn't seem likely to slow significantly. Not a strategy I'd pursue but it doesn't seem like an unreasonable bet.
- wmichelin 6y agoYou can take risks on the job and learn as you go. If you have a good manager they will take your career goals into mind when deciding what you are doing on a per-sprint basis. A great manager will allocate sprint points to you exploring a new area of technology as long as you can somehow realize value for the business as a result of that exploration.
- throwavay 6y agoA fantastic manager doesn't make you assign points to your work to fit inside an arbitrary time box.
- wreath 6y agoI don't want to spend all my time honing one skill (programming). So I chose a job that is constantly challenging to keep me stimulated intellectually, and moved from frontend to backend/infra (took 18 months). Learning how to get up to speed with whatever technology being thrown at you is the skill one should develop, and not focus on specific framework or programming language per se, because they come. Also, programming is not the only skill that will help you in your career as an engineer.
- a-saleh 6y agoYou don't manage your career by programming. You manage your career by being able to deliver projects or at least participate in meaningful manner and then building meaningful work-relationships.
- 2rsf 6y agoAt least for me "programming" is never 100% of my day to day work. There always research tasks and proof of concepts that allows you to learn and try out new things.
- _davebennett 6y agoI work on side projects if it's something that interests me. Otherwise, I try not to make programming my life. I have other interests in politics, film, etc. that I would also prefer to pursue.