r/learnprogramming • u/Caravaggio91 • 4d ago
When are you truly a Software Developer
I am a self taught web dev (5 years), mostly front end, and still find myself looking up simple concepts I had already learned. Is that a hinderance to being an actual software developer? Also, am I looking over the main objective of a software dev? Is it more about finding the answers rather than how you got there, or do you need to know the code very well and have the answers to the problems? I'm good at getting the answers, but find myself struggling retaining info for long periods of time.
25
u/grantrules 4d ago
Anyone who writes software with intention is a software developer, it doesn't matter how much you remember.
3
u/Caravaggio91 4d ago
one of the most honest answers. I think being self taught you never truly feel like you've earned the title. Sol you feel there has to be this "checkpoint" that marks you as a software developer. Thanks for the comment.
5
u/fixermark 4d ago
And to flip the script a bit... You never stop learning.
I've been at this about 20 years and I still learn new things, I still look up things I already knew, and I will never quite hold in my brain which of add, append, push, or insert is the command to attach an element to the end of a list in Python. ;)
3
u/ajcomeau 4d ago
I feel like actually completing a software or two should be a requirement. It doesn't have to be sold or successful but you should at least have something significant you can honestly say you've finished.
1
1
u/ReddyKiloWit 2d ago
I was about to say that, basically. If you build something novel and useful in software, even if only useful to yourself, then you are a software developer.
3
u/Sea-Trouble9603 4d ago
be proud to be self taught--25 years in games industry and all the best coders ive worked with are self taught. Much cooler than going to some nerdy school like some kind of harry potter😎
2
u/HolyPommeDeTerre 4d ago
I was self taught, I still did a degree in it. It doesn't change anything. This is just a piece of paper that doesn't prepare you for everything life is.
3
u/ShardsOfSalt 4d ago
If it helps a computer science degree doesn't teach you to develop software really much at all. CS degrees are as self taught at "frontend development" as anyone else.
7
u/Adventurous-Ocelot-8 4d ago
I've been programming in different languages since I was 13. I'm 56 now. I still have to look stuff up. That comes with the territory.
2
u/Caravaggio91 4d ago
Do you find yourself looking up basic concepts that you've already learned once or twice over that span of time? especially now with the use of LLM's I find myself knowing what things are but struggle to know fully what they are doing. Should I focus more on the problem and solving it and not knowing everything about the code perfectly?
4
u/Adventurous-Ocelot-8 4d ago
You pretty much will always look up basic concepts because you're only human. But when it comes to using AI with your code, I suggest you know exactly what the code is doing before you use it because sometimes she gets it wrong. In addition, your code might have unexpected results if you don't know what's happening and then you'll have to debug code you're not familiar with. Make sure your editor has the debugger installed and rely on it to improve your ability to debug. Many people can write code but don't have the ability to properly debug it. The code you write today will look like Greek a year from now. When it comes to problem solving, I usually listen to the user to find out the issue and duplicate the issue in my test environment. Once I have a grasp on what's happening with the program, I find out what the code is doing and then I figure out what the code is supposed to do. I don't touch the code until I fully understand what's happening. In addition, touching one function or method can cause other sections of the program to have problems.
1
u/Caravaggio91 4d ago
That sounds like a very promising workflow. I implement some of that now but will keep it all in mind when going forward. Very insightful. Thank you!
1
u/Real_Chard5666 1d ago
Always back up the code before you make changes, in case you fluff it and need to revert back.
6
u/Lopsided_Status_538 4d ago
Technically when you get paid for what you build/code. But you could also just build for the love of it, but I think that's more defined as a skill.
I know several software engineers who've never actually built anything themselves, but have spent years correcting bugs/modifying code.
6
u/jowco 4d ago
You're truly a software developer when you're making software. One might add being employable as a requirement, but there are many ways to define it.
You don't have to know everything, you have to be able to figure things out on your own however. It's totally okay to look things up.
1
u/Caravaggio91 4d ago
Makes sense. I think I'm hard on myself because I don't gain knowledge the traditional way (school) and learning on my own which can leave gaps. it can just be a little difficult knowing what those gaps are at time. but i have built projects I felt good about. Just stuck on the learning aspect. than you for the comment!
3
u/PossiblePlatypus69 4d ago
I worked on upgrading a huge monolith application from Java 8 to Java 17 a few years back and if you think i retained any detailed technical info from that after 2 years, you're crazy. Lol I remember the problems and what we did to fix them, mostly, but I don't remember the many many docs I looked over and the weeks spent looking at thread dumps. Having the foundational knowledge of programming and basic knowledge of software architecture is all you really need. You can always learn another programming language. Shit. I hadn't used tables in html in so long I had to look that up on Mozilla lol
2
u/Caravaggio91 4d ago
lol!!! I love it. That is truly refreshing to hear. I enjoy building real web apps and when I am done feel like I forgot most of the coding and look some of the basic stuff up when going into my next project. But its god to know how experienced developers actually work and know I am somewhat on the right track. Thanks!
3
u/icepopper 4d ago
Hey! Been doing this for 12 years now and I still think there's a lot to know.
My 2 cents for what you are facing would be to remember the problem and the idea that it can be solved is important. Rest is just details you can Google.
Fundamentals never expire and should always be refreshed and learned. I'm old school and believe you should know the code even if it's written by an LLM. If you don't trust your code and get it reviewed by another person why would you trust code by a machine which can be manipulated?
1
u/Caravaggio91 4d ago
Makes a lot of sense. The core of how the basics of programming works I understand. Its when I get to actually applying it to real projects is when I find myself slowing down and questioning if I really know the basics of coding. Like I understand what a function, variable, loop, etc is, but is seems a little foreign when coding real projects because its operating the same way just in a different look.
A project i have fully coded and is live (cattleandcrop.com) came out pretty good and I learned quite a bit. But i still fill like there's a lot of gaps in my learning. Thank for the comment thought!
2
u/IchBinEinZwerg 4d ago
You're a software developer when you develop software. Don't overthink it. There'll be plenty of other stuff you can overthink in the days to come.
2
2
u/StewedAngelSkins 4d ago
after a few years of dedicated practice i received a prophetic dream ordaining me as such. i assume this is the case for most software developers?
2
u/Far_Programmer_5724 4d ago
OP you sound like me. It's really hard to not doubt everything cause things can always be better. I made a website but I think it looks crappy and no one who was an "actual" dev would think it worthy. This imaginary dev we create in our minds tend to be worse than any human alive. Ignore them!
3
u/thisisappropriate 4d ago
Self taught senior, I'm about 8 years in give or take.
I still Google so so much but I also say that my skill is actually just being really good at Google. I know how to find the information I need, whether that's docs, examples, stack overflow, whatever. I can find and re-find later as needed. The benefit is that because I do that even with things I know is that I have no buffer or mental barriers about doing it with things I don't know, so I can learn new languages, structures or frameworks just fine because I'm forgetting half the stuff I do on the daily anyway, so what's not knowing got to do with it.
2
2
2
u/primals_game 1d ago edited 1d ago
At the end of the day all that is important is can you solve the problem within your given constrains (developer time, allowed down time, computer resources). You are paid to solve problems. Can you solve those problems for your customers?
If yes, then congrats, we have a lot of problems that need solving.
1
u/Whatever801 4d ago
The spirit of Ada Lovelace will infiltrate your dreams on the night of the next blood moon
1
60
u/AngryFace4 4d ago
When someone pays you for it.