This is an anonymous post sent in by a member who does not want their name disclosed. Please be thoughtful with your responses, as these are usually tough posts to write. Email firstname.lastname@example.org if you'd like to leave an anonymous comment or if you want to ask your own anonymous question.
I'm a new developer and still learning, but I feel a bit overwhelmed by the amount of things to learn and it seems like coding is taking over my brain. While sometimes I enjoy getting sucked into it all, other times I feel like I can't escape it and haven't really figured out how to turn it off.
Meanwhile, when reading posts on communities like this one (DEV) and other developer-focused sites, it feels like everyone is "on" all the time. I imagine developers leaving their day jobs and coming home to write more code or write about coding and, to be honest, it freaks me out. I feel like I'm not doing enough.
If I want to be a developer, must I spend all of my waking hours practicing and thinking about code? Is it okay for software development to just be a job or should it effect my whole lifestyle?
Top comments (33)
The short answer is "Yes absolutely it can just be a job!!!"
Earlier in your career you may have to immerse yourself that extra amount in order to learn everything you need to learn, but as you go, it will become far more optional.
I would, in fact, argue that the day you realize it doesn't have to be your entire day is the day you're actually a developer. Not to reinforce any imposter syndrome or anything, but to mezthat's the turning point at which training and education are done, and you're fully-fledged in this profession.
Yes and make sure not to associate coding with your identity because there are people who do and they become a bit insecure about it
Something to remember, "All online communities are the highlight reels of the folks in the community."
It may look like everyone's "on" all the time, but consider that you're seeing the "record" of their activity and not their activity.
Go to a library and think of it as the online community. It looks like everyone's writing books. But it's the collected output of a handful of people.
In my experience my greatest moments of learning and growing is when I don't "work" but spend time creating. Doodling, blogging, reading fiction (from different to me perspectives).
Of course it's alright for coding to just be a job. It's always ok for you to do what is best for your life.
That said, I do miss the olden days where coding was a way of life and not just a means to earn a paycheck. I can't help but think the world is losing something beautiful by coding becoming just another profession instead of a niche for passionate nerds to express their love of software.
I get what you're saying. But I don't think that is the case. Coding is still a way of life for some. So don't worry, that beauty has not been lost, is just more uncommon to witness due to the fact that many are jumping into this endeavour for the wrong reasons.
I was an engineering intern and I needed to code because of many calculations we needed to do on Excel to create a new sales proposal for each and every customer. At that time my focus was never on the coding, but only on the business. This knowledge of excel + coding helped me a lot. At that time, I was just an occasional and talented guitar player.
Then, when I was finishing my electrical engineering course, I notice that there were not so many secure/stable jobs for engineers here in Brazil. So I took the decision to move and become a professional developer.
It was a good and early career shift. I am very well employed and it's very difficult to find an engineer with the same salaries we have on development jobs. But there is a cost. Many many times I need to code only boring, complex, risky things and there is a clock watching me. The coding "science" itself has become a cornerstone of my career and to be honest, I have always wanted to use code as a power user / business analyst / process engineer that could bring a lot of impact to the company. Not what we have today - the "do the correct and well engineered code" instead of the "engineering mentality" of focusing solely on the problem, regardless of the code quality/standards. I have become a guitarist working on a professional and famous band, with deadlines and subject to approval/rejection of the customers and employers.
OF COURSE all the code quality and software engineering stuff is very important. But the thing is that I am really tired. For example: if we want to test a new idea or do some refactoring, usually the PR will receive comments deciding against that change because of the risk and of course, you would be punished by having to update/rewrite/recreate a lot of tests just to support this experimental feature.
I would say that becoming a full-time coder is good to build your family and buy house/car/pay schools etc., but this is rarely a pure creative occupation where you could truly have the pleasure of experiment, test, retry and get user feedback very fast. Becoming a full-time developer usually requires that you be a guitarist, not only play the guitar when you want. You will have to go full-time on learning, training, studying, rehearsal, etc. Not easy and yes, it will take all of your energy for the day.
I know I'm changing the subject here a little but It seems like many coders harbor rock star dreams. When I watch tutorials in YouTube the developer often has an electric guitar on a stand or hanging on the wall in the background. I love playing guitar. But the reality is learning to code has taken priority in my life for practical financial reasons and spending too much time on mastering a musical instrument is currently a risk. It's my dream to eventually crest the wave and become good enough expert at coding to where I can invest less time in programming and spend more time practicing guitar. But alas I have not arrived yet. I satiate myself by attending concerts every now and then.
That is likely because there is a direct correlation between music and coding. Both are a type of language of their own both are mathematically based. I was part of a group many years ago that focused on how to find and develop folks to become coders and music a direct hit. This does not mean all coders play an instrument, but that all will have some type of a love of music. they may be musicians, they may be dancers, they may even be sound engineers, but they will all have a love of music.
It definitely can be just a job, but I don't think your fears about falling behind are entirely unfounded. Things change fast around here. If your continuing education is limited to what you do in your current job, then you may struggle to switch jobs or to get a competitive edge over your coworkers when angling for a promotion.
To be clear, I'm not saying that's a bad thing. Aggressively pursuing career advancement is deeply unhealthy for many (most?) people who try it. If your career advances a little more slowly but it gives you a much better work/life balance and more time with your family or community, good for you!
If you do want to aggressively pursue a career but don't want to per-se write code in your spare time, there are also some good options:
The last thing I'll say is that there's a pretty big difference between coding as a job and as a hobby and coding every waking hour and having it be your whole lifestyle. I think most people have more than one hobby. I'm a full-time software developer and a Secular Franciscan and an orchid enthusiast and a cyclist--and I also try to make at least one commit to my hobby software project every day. Lots of people do code as a hobby, but I don't think many of us make it their whole lifestyle.
I 100% relate to this, especially when I started my career and even now sometimes. I work with some incredible developers and when you ask what they’ve done with their evenings or weekends is always they’ve coded something or learnt something new and there’s me, I read a book or something 👀 I felt like I wasn’t dedicated enough to coding and I wouldn’t get anywhere because I wasn’t doing what they was doing but PLEASE do not compare yourself to others.
It can 100% be a job and you leave it behind when you clock off if you want to, or it can be something you also do in your spare time but it is completely up to you. You will find a balance that works for you. When you finish work make sure you’re doing things you enjoy, even if that’s watching tv or playing games, it’s absolutely ok. Please try not to stress over this, it will pass in time the less you compare yourself to others
I don’t know if this is the right answer but here you go.
In general, creating anything from nothing is what excites me. The very skill of bringing something that everyone can use, that was just an idea moments ago, is addictive for me. That pushes me to write code even if it’s not for a job or for academic purposes. It may not be for all.
You can still have a programming job and work on your hobbies in your free time. You don’t have to force yourself to write code seeing how others are doing.
You can make it just a job or a passion. Once starting out you’re going to feel like you’ve got to constantly be learning something new, in theory yes you’ll always learn something new. Do you want to spend 24/7 on learn that’s up to you but also a way to get burnt out. Once you get your first job and after a few months you’ll start to learn tips and tricks to better your self and learn new syntax more effectively.
It's a job for me.
I'm deeply passionate about software and writing code. However, I kinda suck at managing things. I have a lot of interests, some fleeting, some permanent. Recent obsessions would be sim racing, sciFi, writing, working out (in that, I'm experimenting with rock climbing, wrestling and such), badminton, 8 ball - and this is from just the last month or two.
I'm unfocused with things in general, but I feel this is how I like to experience things. Breadth first, depth later. This is working for me, it doesn't have to be for everyone like that. Some people figure out early what they like and can stick to it. Even then, I was born in a densely populated country with high degree of classism - couldn't try out woodworking or car repair early on, things I might enjoy.
That said, I do find a lot of time on the weekends to code and learn outside of the job. I love it, but I don't think of myself as just a programmer. :)
There are consequences to any job "just being a job".
You spend a significant amount of your waking hours (of your life) tending to your employer's priorities.
Ideally you'd like to end up in the "I can't believe I get paid for this, I'd do this for free" position. Some are fortunate but most people will never get there. But perhaps that's not the point.
"Your work" is a pretty large part of your life to write off to support the rest of it. Sure, work won't be rainbows and unicorns all of the time and there will sometimes be significant intervals of drudgery usually spent in the hopes of later arriving at an improved state.
But your job will limit your experiences to what your employer directs you towards. You have to spend your own time to explore other avenues to find pursuits that possibly engage you more which may lead you to change to a direction that doesn't coincide with your current employer's path. And this process is an iterative one and continues throughout your life.
In Cal Newport's "So Good They Can't Ignore You" there is a "Passion is Dangerous" chapter. What it boils down to is that in the majority of cases "passion isn't followed" but "passion is built". At the beginning you try various things that bring value to others that you could be (mildly) interested in.
Eventually you come across something that stands out that is worth putting work into. If you find this work engaging (often enough), you may very well be building your passion. This is how your work can become more than a job.
And keep in mind that people's interests change throughout their lifetime so this is a process that needs constant tending to and it has its own ups and downs; there is no way of always getting it right.
It's not unusual to be at times overwhelmed by what's ahead; at the same time you will never "arrive" and you will never "be done"; software development is a field that is constantly renewing itself which is why I tend to encourage people to focus first on fundamentals, principles and practices which tend to endure in the long term rather than products which tend to have a very short half-life. Ultimately it is your own curiosity that has to keep pushing you forward through the inevitable periods of uncertainty and doubt.
Also most of the time writing things down either privately (personal journal) or for public consumption (blog) is an effective means capturing, processing, and advancing your own experience.
It's totally fine and no you should absolutely not spend your entire time thinking about code, this causes only more stress (it will freak you out more) which will affect your health and your productivity in your job as well. Especially the latter may sound counterintuitive to some who think "the more I spend time coding the better I get", there is way more nuance to that and its often more about how we spend our time that gets us further. I can recommend this article about human factors and how they influence the quality of our work - from a software engineering perspective.
I feel this is something we all go through when staring out, especially when breaking in. I know that for me I felt exactly the same way when I made my pivot to web development and spent a lot of hours beyond the 9-5 sitting in front of my monitors typing away and always feeling like I was behind or missing something.
Slowly but surely those feelings subsided and I think it came when I stopped worrying about learning the languages and frameworks and returned to why I made the shift in the first place - to solve problems.
Once I did that it was much easier to set aside the work of the day, close the code editor and not worry about it. I do work on code items from time to time when not at my job, but it's because it's something I want to puzzle out. I don't worry about being 'on' or 'off' anymore, my job is to solve problems and sometimes the best way to do that is just walk away and come back later after doing something unrelated.
Nah, you're good just doing you in your non-working time. I suspect you already knew this, but it's easy to lose that train of thought when so many employers and hiring practices seemingly skip past this to assume every dev has a multitude of open source projects they've worked on to show in a GitHub profile as portfolio.
Some people are all on all the time. I used to be closer to this description, blogging, speaking at user groups and occasionally larger events, building a new prototype web app seemingly weekly. As I've become a more senior developer and had to make more work through multiple years of pandemic while already being a fully remote worker, I've discovered a passion for offline hobbies when I have time for them.
My suggestion to you is, as a new developer it may be worthwhile to selectively and in a deliberate fashion, build a couple of things that show off you, your skills, and your ability to learn and adapt by chipping away at a couple of things to keep in a portfolio. This should make things easier when talking to a recruiter when they ask what you can show you've worked on; my day job code work is not something I like to sling around, as that's the company's code and is usually closed source.
Alternatively I'd recommend building a "show off" library, whether those are one-off utility functions or individual components you're especially proud of (or some slice of code), that can fulfill that purpose without being a whole application. You don't have to over complicate it, you can just check them into a private GitHub repo with folders so you can have separate readme files to describe what they are if you want to. This should be code that's abstracted enough from whatever you work on to not carry with it any company/team/project specifics and keep the focus on your work effort.
If you can't budget more than 30 minutes per week (or some number of minutes) to put into that sort of thing, then slowly poke away at it now and it should grow nicely over a few months. Ultimately find what works for you and do enjoy being unplugged when you need to be. You're right to treat work as work and not require it as part of your every waking moment. Best of luck.
Everybody here seems to be civil about the topic (and thank the heavens for that!), but this usually is a touchy thing to discuss. Not because of the folks who actually believes that coding can just be a job and not a lifestyle, but because of the other spectrum of the discussion, those people who believe that a "good programmer MUST be programming and learning all the time, even outside of work, otherwise you are just mediocre" - which seems bogus to me, by the way.
So, yes, definitely you can treat it like a job only. No problem with that. The only caveat I see (and that's from personal experience as a not-so-active-programmer) is that you will just take a little longer to learn and be updated about things, but that's that. If you are okay with that factor, then it will be okay.
Coding can actually destroy your life and your sanity if you create a whole identity around it. I was there, coding all the day, I became good at it but it doesn’t worth the price. Go out, enjoy reality, just do your job and get paid for it.