How often do you code? How important is coding as a software engineer?
Posted by den_eimai_apo_edo@reddit | ExperiencedDevs | View on Reddit | 48 comments
TDLR I don't code often. How important do you think it is?
Hi everyone ..
3.5 yoe backend eng mainly doing springboot ms for an ordering system. My only eng job.
Most of my day is identifying bugs in prod that impact the human business processes and users. Meeting with the ops/business people to discuss issues and requirements, designing fixes, managing those features, and doing the delivery and dev work.
The "dev work" is usually altering some json files, or adding in a method or two somewhere to solve some bad user experience or hole in the design. And the more big ticket features I've developed aren't complex. It's just data mapping api requests .. the only complexity is thinking about efficient ways to validate things and the impact on the overall workflow.
I'm not becoming a better coder, but I'm hoping all these other things I've listed above is making me a better engineer? As I said, one job so I'm not really sure if I'm shooting myself in the foot or not.
SkyGenie@reddit
8 YoE. I write code almost every day. Most days I am specifically coding or testing 4-5 hours, and the rest goes to info gathering, managing PRs, and the other goodies.
From a technical standpoint I still have a lot to learn, and especially at your YoE I do think the consistent practice of delivering your own software is really, really important.
Positioning yourself for architecture, design, and general helper/integrator early in your career is very valuable to your company but not to your career. It's one of those dangerous things where you do learn a lot, but technically you will not quite understand your gaps in your ability to deliver on projects until you go into your later jobs and/or discuss consulting opportunities.
Write more code, ideally in a role that expects you to do so. And make sure you position yourself in the future so that you can focus on building your technical skills.
den_eimai_apo_edo@reddit (OP)
Thank you
SkyGenie@reddit
Yeah of course. And none of what I said is meant to discredit your work or discourage you. All the work you described figuring out to integrate systems, figuring out how to go from a customer bug report to scoping out practical fixes and driving them down to completion, etc. is very valuable experience to have as an engineer, and I'm sure you gained some really useful communication and problem solving skills out of that. Just trying to be realistic if you want to continue down the technical path vs. pivoting into say a product management role.
I was in your shoes a few years ago and it took a while to see the effect of being in that kind of role. Hopefully you can course correct earlier than me!
den_eimai_apo_edo@reddit (OP)
Appreciate your insights. Exactly the info I was after. At the end of the day I can make my own Dev work, at work, so hopefully I don't need to job hop in this job market.
SkyGenie@reddit
For sure. As long as you're being proactive about it you're doing the right thing.
horizon_games@reddit
You find the bugs but don't fix them?
Pretty sure you're QA
den_eimai_apo_edo@reddit (OP)
Assuming bugs require a lot of coding to fix👏
lilcode-x@reddit
Senior Frontend Engineer here. I code a lot. Currently working on a large website migration at work. Lots of code. I use AI a lot to not have to hand-code it all, which is nice, but still tons of work to do.
fig-lous-BEFT@reddit
Everyday but mostly reading to write less.
Unfair-Sleep-3022@reddit
With 3.5 years you should be coding 90% of your time.
den_eimai_apo_edo@reddit (OP)
Why?
Unfair-Sleep-3022@reddit
Because you need to sharpen your technical skills
Respectfully if with 3 YOE you're not coding much, you'll get in a low skill plateau
den_eimai_apo_edo@reddit (OP)
Thank you, I was essentially wanting to confirm this.
BeReasonable90@reddit
I find straight coding is the minority of work I do as a senior.
Most of it is gathering business requirements, planning out what to make or update, creating documentation, etc.Â
guns_of_summer@reddit
I’m mid level at my job but i’ve recently started to do a lot of tech planning myself. It’s kind of mind blowing how much time that takes up, and sometimes I honestly feel a little guilty about it? Like “I’ve spent hours trying to figure out how this is gonna be built meanwhile actually building the thing might take half as long as the planning”.
But it’s tough, particularly when it’s all backend stuff I’m working on. I get vague and ambiguous requirements from Product ( because they don’t know how tf stuff in the backend works, they just know what needs to get done ) and I have to figure out how that gets implemented in code. Sometimes there’s back and forth also, clarifications etc. Figuring out how to build solid future proof solutions while also retrofitting new behavior onto existing behavior can get really complex.
Anyway that’s all to say that now with that in mind coding takes up at max 50% of my time, but probably less nowadays. Once I finish planning everything, it’s usually in a state where writing the code is pretty easy for myself or another team member to do.
ThatShitAintPat@reddit
10 YOE. I write code about 80% of the time. Most meetings I’m in don’t require my involvement as much as the person hosting would think. So I just tune out and code with one ear to listen if something is important. I’m a lead on a team that tends to like working out problems amongst themselves. They’re mostly bootcamp devs and not the most technical. The slower they move the less of the stuff I don’t want do falls on my plate.
Subtl3ty7@reddit
Everyone here is saying to have a side project but this should not be the top priority. Sometimes we are tired at work and we want to spend our free time not on side projects but other things. I think learning SHOULD come from the job. Once you are mid-level, you should have a career path in your head and check if your job develops you in that direction. However this requires your initiative as well. Its rare to be suddenly handed more responsibilities and growing opportunities. You cannot just sit and wait that. You need to learn how to take initiative and be proactive, inspect the system, look for improvement areas, learn to make recommendations. That requires certain portion of interest in the job, product and software as a field. If you do not do this and always wait for growing and learning opportunity to land on your lap, you mostly end up like those guys who have 10 YoE in resume but they are like 10 times 1 YoE knowledge and skills.
den_eimai_apo_edo@reddit (OP)
I really wanted to know if not coding everyday is a detriment, or the other skills I get from managing features are more valuable as I move towards being a senior.
dmazzoni@reddit
It's normal to spend more than half of your time on other things.
But even if you spend only 8 hours a week writing code, that ought to be enough to keep your skills fresh.
If you don't have even 8 hours a week of real code to write on average then it might be an issue because at many jobs you'd need to write a lot more code.
Infamous_Ruin6848@reddit
Even if those 8 hours of coding are not pure coding, it's important to be in the zone of developing a change in a codebase meaning reading requirements, understanding what needs to be done, doing it, testing, compiling/interpreting, executing, check ci/cd, try again, read qa comment, try again, code on something else, come back to pick it up again.
The whole zone is unique compared to other things a SWE does and it's critical to raise confidence, curiosity, creativity besides experience itself. It's even more unique compared to other roles in a software team/company. As a PO/PM 90% of time, it's so rewarding to book that half day, open the IDE and go full speed, my speed.
ZunoJ@reddit
You are trying to learn the art without learning the craft first. That is pretty detrimental IMO
BenchOk2878@reddit
Staff eng here. 20 yoe. I code 80% of the time. Mostly python backend and Terraform AWS .
lost_tacos@reddit
The higher the rank, the less code you write. I went from architect back to principal because I did not get to write any code
-Nocx-@reddit
Maybe I’m in the minority here but the answer is it depends on the shop.
Some places have established software bases with customers that don’t need a lot of changes. Most of your work is going to be communicating with them, fixing small things, and making sure they’re happy.
Some places have a ton of features with a lot in the back log so you’ll be constantly implementing and improving.
If you plan on retiring where you are and you have good job security, the answer is you probably don’t have to do more. If you don’t, then you’re going to have to find lessons and fulfillment outside of work because that’s not what your company does.
Abadabadon@reddit
I find regardless of seniority that I usually code less the longer my tenure at a company or the larger my team.
Tiny_Ad1105@reddit
I'm a technical engineering manager at the moment, with almost 8 YOE. I probably code around 30-50% of my work time, depending on a few factors. That being said, it really is the easiest part of the job. If you've planned and designed your solution well, the actual coding is normally just a technicality.
Phonomorgue@reddit
I think its more important to just have some kind of hobby around computation. Doesn't have to be coding strictly. I just crack open a graphics programming or audio programming book from time to time. I definitely dont go out of my way to hold a stake in some esoteric open source project, admirable as that may be.
Graf_lcky@reddit
I love it and when my team does their things I usually start some simple coding thing which usually evolves to some feature I can assign a team member with.
But generally lots of meetings, listening to Karen about her ideas and smashing them after 40 min by just saying: it’s forbidden due to some weird legality we introduced, and looking at it.. it was you Karen who introduced it and stopped a similar project half a year ago cause it was by Betty, who you dislike.
Shitstorm incoming from Karen’s floor, so bracing to defend my team while the CEO asks us whether their nephew could get a desk on our floor. Sure. Oh, you want me to teach him code? Well sure thing boss, I’m glad you are willing to pay double the tutors rate so that I can teach your nephew some html.. and by the way, you know, Karen had this great idea, maybe your nephew can help them with the technical side..
metaphorm@reddit
every day. if you're not coding every day you're handicapping your own professional development.
Hotfro@reddit
I think this depends on what your team needs and seniority. If staff level and have a fair amount of devs on team you might be more tasked with delegating, reviewing, designing, and planning.
Ok_Addition_356@reddit
Senior developer here...
We don't write a lot of code. Most of our time is spent planning, working with people on ideas and architecture and decisions about multilayered and interconnected systems. As well as developing test plans for the proposed change/update/feature/fix.
Once we figure that all out and have a game plan... sure, we write a little code. lol
mxldevs@reddit
Getting your hands dirty designing solutions and then wrestling with APIs, frameworks, cloud infrastructure, etc to actually get things to work provides a lot more insight than simply reading reports on what works and what doesn't work.
It's this experience that you have, that allows you to judge whether a proposal is any good or not.
Your primary duties aren't going to make you a better engineer, but you will get good at project management and business analysis.
Ok-Equivalent-5131@reddit
I’m mid level, about 4.5 yoe. Mostly do BE web stuff (go, node, terraform). I write a fair amount of code. It’s the easy part though I think, the planning with product and then system architecture more interesting and more challenging. Iv gone several weeks without writing any code before during a planning cycle.
ZunoJ@reddit
15yoe, (forced) full stack with backend focus. While the majority of my day is not spent writing code, I still write code every day. When I'm done with work, my family is asleep and I'm back from the gym I usually work on personal projects at least twice a week. So all in all I write a lot of code
fallingfruit@reddit
Principal here, I'll go a month doing almost no coding, just PR reviews, documentation, and often prod support and observability updates (which is sql/promql so kind of coding)
I love coding and building new features so I give myself coding tickets sometimes. Also get my coding fix with a side project and don't let myself use any AI there.
And trying to ramp back up on leetcode (fml)
Dreadmaker@reddit
Depends. Do feel confident in your coding abilities? If tomorrow you got asked to lead the development of a brand new api from scratch, would you feel good about that? Or would you be way in over your head?
If that just sounds fun and you’d be good to go, you’re fine. In our current job market where juniors are increasingly less valuable and companies want seniors, having many YoE is probably more of a resume asset than the specific nature of the work. Yes, you can be looking for new stuff, but you don’t need to feel pressured.
If you would feel overwhelmed- time to play with some side projects and get yourself familiar with some new techs. Practice is great, and it can be really helpful when you’re looking at new jobs also. For real, I started doing a side project at the tail end of my last job with go and Postgres as a dev who had until there only worked professionally with typescript/node and mongo. Suddenly, 3 months later I had started a new job working in go and Postgres, and a not-small part of that was the familiarity I had gained doing a side project with it ahead of time.
To your actual question, how often I code - I’m a team lead at a startup, and my team is building a new product more or less from the ground up. I’ve got 8 YoE or so.
Some weeks, I code the whole time. 90%. Other times, I spend 2 weeks not even touching the code because I’m working full time on design/architecture for a new feature. It’s a grab bag, and it really does go in phases.
For the record my mid-level colleague is basically permanently coding.
unconceivables@reddit
Coding is extremely important. Real software has a ton of code, and someone has to write it. If every SWE barely wrote any code, software wouldn't get made.
AdvisedWang@reddit
Sounds like they hired a SWE to do QA, project management and ops. If you like the job, that's fine, there's plenty of need for this. However you are not building skills, the experience or accomplishments for an actual long term SWE career.
Bstochastic@reddit
It's all context dependent. As my team grows I find myself focused more on empowering the team members to succeed (giving them space to lead, take ownership, encourage ideas, etc) and planning, so. much. planning.
Colt2205@reddit
The first step of solving a problem is understanding what the problem is that is being solved, and then documenting what that problem is, proposing a possible solution and mapping that solution out, and finally at the end of that perhaps code the solution and deploy it.
vaultking96@reddit
I would find a new role ASAP. With 3.5 years of experience (and mostly not coding) you’re still inexperienced and in my experience the first few years are crucial for becoming a better developer. You absolutely will learn so much more writing the code vs just reading someone’s code that they wrote a long time ago.
I was in a similar role years ago and switched to a greenfield project 2 years in. I’ve written probably tens of thousands of lines of code since and my skills and knowledge increased exponentially over that time due to that work. It’s true, senior devs write fewer lines of code but you have to be “down on the front lines” so to speak earlier in your career
solidiquis1@reddit
I recently got “demoted” from a lead back to IC. I say “demoted” jokingly because it wasn’t really a demotion due to performance and compensation wasn’t affected, but a few weeks ago we needed to carve out a new team that was purely focused on improving performance in critical parts of our system and I went from coding 30% of the time to now coding 90% of the time.
Being a lead was pretty fun. I enjoyed setting direction, providing technical guidance, and unblocking people and I was very effective at it. It did hurt a bit when I had to delegate the fun and interesting problems to others but it was the right thing to do. I couldn’t afford getting to deep into single tasks because I needed to context switch a lot to help others. I was much more effective to the team by being available to provide guidance, review PRs. and doing quick foundational work e.g. bootstrapping boilerplate services and K8s configs, creating interfaces and example implementations, and doing research ahead of time in areas we were unfamiliar with so I can pass on context by the time the individual planned to work on that thing has bandwidth.
A month ago I was moved over to a new team to focus on system performance and an IC from my former team is now their lead. While being a lead was fulfilling in a lot of ways, I’m glad to be scratching the coding itch again. I spent the past several days parallelizing a completely single-threaded Kafka/Red-Panda consumer and boy was it hard. I don’t care what anyone says but parallelization/concurrency when state is involved is never ever easy. Lots of deadlocks, hard to establish causality and reason about, atomics, mutexes, condvars… but right now I’m having a blast. It feels like I hit the reset button a bit and it has been nice to have much less responsibility and focus purely on coding, except 10% of my time is still spent providing guidance to my former team and their lead as the things they’re focused on is my domain expertise.
One thing I learned about myself recently though is that it’s much easier for me to take a step back as a lead and establish health boundaries with work. With coding, especially with a difficult problem, I could find myself getting way too lost in the sauce and work until 2am which is extremely taxing on myself mentally and physically. I need to work on that.
But yeah so far I’m enjoying the variety. I’m sure I’ll be a lead again soon and how much I code throughout my career will ebb and flow.
davy_jones_locket@reddit
Principal engineer in a small but well funded start up.Â
I code about 50% of the time. The other 50% is requirement gathering and refinement, QAing and reviewing other team mate tickets.Â
NoJudge2551@reddit
In established organizations with existing systems, most of the job won't be hands-on keyboard in an IDE. Welcome to dev. You could always look to automate/standardize some of the processes with some kind of scripting. You could also just side of desk some refactoring or something.
Other than that, look for startups or greenfield projects for a chance at writing code.
nsxwolf@reddit
I can't remember any point in the last 25 years when my career was primarily about coding. It's a means to an end.
08148694@reddit
Less and less
I consider a SWE to be a person who solves problems using software. Those solutions are almost always expressed in code, but physically typing it out manually is becoming dated and will probably be seed in the future as analogous to a scribe writing books with a quill
jjd_yo@reddit
Betterment can happen on the job, but you should find interest in a side project or alike which betters you as well. I learned Laravel while working at a Drupal codebase; 0% related but my new job offer is with Laravel FWIW.
dreamingwell@reddit
There are many forms of coding. If you’re not learning new things on the career path you want to be on, take on a side project. Always be learning.