Once I stopped asking myself whether I could actually build something. Nowadays the question is not if it can be built, but instead how long it will take. But, I still don't view myself as an above average dev. :)
Being able to see a project in all of its sides - even the ones you're not skilled on - and to take decisions about them is what it makes the difference to me.
That doesn't mean you won't ask for advices, of course, but rather asking them not with a "How am I supposed to do that?" attitude, but with a "I think I'll do it like this, do you think it can be improved?" state of mind instead.
I sometimes think like this, it just the problem of how long to build it
But actually, time is money, right?
besides there are many problems and skills needed to be considered
how fast is it?
how scalability is it?
how he/she works in team?
etc...
P/S: recently I join a project which was implemented so poorly and had many issues of performance and now losing customers due to that.
Kim Arnett [she/her] leads the mobile team at Deque Systems, bringing expertise in iOS development and a strong focus on accessibility, user experience, and team dynamics.
never met a part of the stack I didn't like. sr. engineer at clique studios in chicago, perpetual creative hobbyist, bird friend, local gay agenda promoter. she/her. tips: https://ko-fi.com/carlymho
I don't know that I ever specifically thought of myself as a junior/newbie, largely because I went through my early programming days as a hobbyist in junior high and high school. I did start specifically thinking of myself as solidly mid-level/senior when I became able to and comfortable in asserting myself and my opinions and ideas at work, and advocate for the ideas I cared about, I think.
I started to feel like I wasn't a newbie when I could start having productive conversations with more senior employees about the requirements and functionality of an application.
Knowing how to write code is one thing, but to have a vested interest in developing a product and contributing to it from design to production meaningfully is what made me really feel like I was a solid contributor.
The first time I was assigned to build an entire web application for a real company who they were actually expecting to get money back from the product I was about to build.
I haven't even finished my BsC yet. I was lucky though to have a PM that was actually very gentle with me and even on times that I was screwing up, he always had my back. That project took a few months to complete but the company discontinued it after some time. I then learned that they built it just to get some government funds so they weren't really up to make it a business.
Nevertheless, that was the moment I realized I couldn't just play anymore, I had to pull my self together, read my ass off, work harder to meet the requirements, build great products for people that are willing to trust me with their businesses. Most importantly, I learned how to respect the craft, or art if you will, of programming.
Aw man, I have a lot more to write. It's such a big subject and I truly believe that people think of this a lot, especially newcomers to this job.
I need to organize my thoughts more, thanks for the great question. 😎
DISCLAIMER: I am still trying hard to think of my self as a junior. I am learning new stuff every day, just like 5 years and 10 years ago.
I'm curious about why you're asking this question. I worry that terms like "junior" or "newbie" set up a hierarchy that doesn't need to exist. It can lead to "vertical" thinking - "I'm new at this, so I'm underneath or less than the people who aren't new at this."
In reality as I experience it, everybody is a newbie at something, and folks who aren't consistently placing themselves in a newbie position are stagnating.
Any project has different aspects that will apply to folks of all experience levels - design, problem-solving, documentation, support, etc. A well-orchestrated project will apply folks to relevant problems according to their experience, without placing a judgement on which experience is better. In most cases, it's better to have a variety of experience levels on a team, so that people can have problems to solve that they aren't yet jaded about, or bored of solving, or can't yet get their minds around. It's not that your "worthiness" increases as you gain experience, it's that you are a natural fit for different sorts of problems.
Why do you think these terms shall not exist? There are people who have more experience on a subject while other people trying to learn it. I think its a natural proccess, but I admit that calling someone a newbie is a bit harsh.
I second this thought! What a great feeling it is, too, when someone comes to you with questions and advice. I especially love the 'aha-moments' when I can fully explain something, front to back, without hesitation. It also makes me realize that when I use to ask people questions, I wasn't wasting people's time like I had always been afraid of. It's really empowering to be looked up to or seen as a teammate with valuable knowledge. Impostor syndrome is too easy to fall into.
Seasoned Staff Engineer at Artium, expert in agile methodologies and software development. Adept at leading teams and pioneering transformative solutions.
I realized I was seeing only the the first inception level.
After you master one insignificant sliver of software craftsmanship, you look up to realize there has been a firehose pointed at your face the whole time. Learning to drink becomes more important than the specifics of any one skill in particular. You get used to it.
For new skills, I still feel like a junior starting out. But, that does not last too long anymore.
I am starting to pick up Node. It's not my first language. It will not be my last.
Coding is like karate...Someone always knows more. One thing I have really tried to be is humble throughout my career. All of us at one point didn't "Get" when to use for, for each or while loops. I always try to help other devs get better. Always try to get better, and learn more.
Junior/Newbie is relative, and it is easy to become the big fish in a small pond. I continue to think of myself as junior though, because I hardly understand lots of the things that I am interested in learning or researching.
Working as a remote freelancer almost since I graduated from CS engineering school, it took me a while to get there. I think I started to stop thinking that when I started to have to refuse new clients, got contacted for senior positions opportunities & got invited to join "restricted" freelance network like toptal for instance.
I’m starting to form opinions about software and its construction and writing about those opinions on my blog (soon!) as well as not taking whatever a senior dev says as gospel truth. I’m also not asking how to build small apps. This signals to me that I’m at least an intermediate junior, no longer “new”.
Professional developer for twenty years. Team lead, technical lead.
What I love is to code stuff. I appreciate pair programming. I think software design is important. I also love to debug code.
My first job was as a freelancer while studying computer science. When I applied there, I was very confident not being a student trainee but a consultant with special knowledge in Delphi programming. My boss thought the other way around, so we met in the middle. And as it turned out, we were both right. During this job I learned a lot around programming in real projects. After finishing my studies I wanted to move on, and my boss offered me a good salary and to work for him off site. I rejected, because I wanted to work with other people in a real workplace. But I took away what I can claim when applying for a regular developer position.
The thing is: there is no real point when you turn from Junior to Senior. You always bring something valuable in to your next job, and hopefully you learn something valuable from it.
Born pythonista, likes to play around in the world of web development. Sometimes tries rusty swift stuff. Likes to teach, learn and coach. When not coding, enjoys wife, kids, soccer, guitar and acting
When my Google searches started to decrease to minimal, and I got stuck less often. Also, I stopped needing a lot of help from other team members and could be doing a task from start to end without asking much.
When people didn't report too many issues when reviewing my code and I started giving discussing features and arguing about how features should be built.
Hey! I'm Dan!
I have been coding professionally for over 10 years and have had an interest in cybersecurity for equally as long!
I love learning new stuff and helping others
Location
Brighton / London, UK
Education
Edinburgh Napier (Postgrad Cert Advanced Security & Digital Forensics)
I think in my first role there came a point in time where I realised that I was actually contributing to the team and my ideas didn't sound crazy to others.
I was taken seriously and noticed that others were. It was also the first time I thought "Crikey! I'm not too bad at this!"
Been using UNIX since the late 80s; Linux since the mid-90s; virtualization since the early 2000s and spent the past few years working in the cloud space.
Location
Alexandria, VA, USA
Education
B.S. Psychology from Pennsylvania State University
Pretty much "never". There's always something to be new at or ways to vastly improve techniques in technologies in which you already have a significant knowledge-set.
That said, as craptacular as I feel my code is, it's amazing how frequently I'll look at fresh code from a self-described "expert" and realize "even as crap as I am with my coding, I could use Google and my existing skill-set to produce something better than this." Dunno whether that's self-deprecating or elitist: is there a term that adequately describes the combo?
Fundamentals go a long way. Lack of them seems to go even further (or, at least, more pervasively).
Somewhere around my 10th year after being a developer (and getting a monthly paycheck for that - school and university don't really count)
That.. and not being able to find any answers on the newsgroups, search engines etc. ... at that time there was no stackoverflow yet. And while searching instead of finding what I was looking I got distracted and I started providing answers to other people's questions.
I take the position that I will always be a junior/newbie, in general...what, with a new JS "framework" being birthed every other day and the rolling thunder from the rapid expansion of cloud services (see what I did there?). And I am OK with that. In terns of specific technologies, now this is where my ego tends to speak up a bit.
I've been a professional C, Perl, PHP and Python developer.
I'm an ex-sysadmin from the late 20th century.
These days I do more Javascript and CSS and whatnot, and promote UX and accessibility.
When I was working for a company that automatically made any programmer a "senior" after they'd been there for two years, regardless of their abilities.
I wasn't a programmer, so I was exempt from this policy and had been there three years. Everyone else in my department left, making me de facto in charge, and I realised that I was handling it ok.
When I eventually changed jobs, I just called myself a senior, and it felt right.
Hmm. I still think of myself as a junior dev in some ways. Junior as in, I see my flaws, where I would like to improve and learn more. However, I know that I'm not a junior dev when people on my team and beyond see me as a resource.
I think I did when it disappeared from my job title once I changed job.
I guess though that the right thing to do is never stop to think about yourself as a junior, in every field there is always something new to learn, and there will always be someone who knows more than you do. As a personal rule I never let my job title blind me.
I've been working for about 2.5 years full time, and I worked about a year part-time as a student. Not sure when exactly, but after I did a few team projects from scratch and after getting a hang of object design by observing what our architects did.
I don't consider myself a junior and people ask me for advice but I'm not a senior either. I wonder how long will it take for me to consider myself senior. (When I do, I'll make horrible puns such as "I'm señor Developer". Can't wait :D)
...stopped thinking as a junior developer? Luckily I haven't thought of thinking so, also won't ever. The day I'll think about the same I'll no more be able to grind my brain anymore.
A junior developer carrying 6 years of professional experience.
i'm still a junior/newbie after 6 years! Still love learning, still trying new things. Although, i have reached a point where i'm a senior in my job and other devs and departments reply on my "expertise", i've been able to keep up so far, so just looking to continue my journey and get better.
Pellentesque nec neque ex. Aliquam at quam vitae lacus convallis pulvinar. Mauris vitae ullamcorper lacus. Cras nisi dui, faucibus non dolor quis, volutpat euismod massa. Donec et pulvinar erat.
Hi my name is Omar, I’m a software engineer that specializes in creating great front end experiences, primarily using react. When I’m not engineering I like to game and make music.
Though I do stuffs, each time I look around and see new techs or languages/frameworks it rings in my head that I still don't know anything...dont know if that's a good feeling.
Sasa is a highly driven full stack software developer with background in finance and accounting. A relentless problem solver who is passionate about finding elegant solutions to problems at hand.
My name is Khairil Azizee. I am from Malaysia. Being a Web {PHP} developer for almost 12 years. Currently trying to learn to React JS, android, and ios.
Well actually I'm a junior/newbie. I'm coding just for a few years. But I hope I will see myself as a junior for the future too. With this way I can be eager to learn all the time.
Once I stopped asking myself whether I could actually build something. Nowadays the question is not if it can be built, but instead how long it will take. But, I still don't view myself as an above average dev. :)
I second this thought.
Being able to see a project in all of its sides - even the ones you're not skilled on - and to take decisions about them is what it makes the difference to me.
That doesn't mean you won't ask for advices, of course, but rather asking them not with a "How am I supposed to do that?" attitude, but with a "I think I'll do it like this, do you think it can be improved?" state of mind instead.
I sometimes think like this, it just the problem of how long to build it
But actually, time is money, right?
besides there are many problems and skills needed to be considered
how fast is it?
how scalability is it?
how he/she works in team?
etc...
P/S: recently I join a project which was implemented so poorly and had many issues of performance and now losing customers due to that.
When I started getting annoyed that others saw me as a junior.
In order to change others opinions, you have to first believe it yourself.
I had this step in a different career. But I enjoy the sense of humility as a junior in tech
What? You mean it stops at some point? :)
I don't know that I ever specifically thought of myself as a junior/newbie, largely because I went through my early programming days as a hobbyist in junior high and high school. I did start specifically thinking of myself as solidly mid-level/senior when I became able to and comfortable in asserting myself and my opinions and ideas at work, and advocate for the ideas I cared about, I think.
I started to feel like I wasn't a newbie when I could start having productive conversations with more senior employees about the requirements and functionality of an application.
Knowing how to write code is one thing, but to have a vested interest in developing a product and contributing to it from design to production meaningfully is what made me really feel like I was a solid contributor.
The first time I was assigned to build an entire web application for a real company who they were actually expecting to get money back from the product I was about to build.
I haven't even finished my BsC yet. I was lucky though to have a PM that was actually very gentle with me and even on times that I was screwing up, he always had my back. That project took a few months to complete but the company discontinued it after some time. I then learned that they built it just to get some government funds so they weren't really up to make it a business.
Nevertheless, that was the moment I realized I couldn't just play anymore, I had to pull my self together, read my ass off, work harder to meet the requirements, build great products for people that are willing to trust me with their businesses. Most importantly, I learned how to respect the craft, or art if you will, of programming.
Aw man, I have a lot more to write. It's such a big subject and I truly believe that people think of this a lot, especially newcomers to this job.
I need to organize my thoughts more, thanks for the great question. 😎
DISCLAIMER: I am still trying hard to think of my self as a junior. I am learning new stuff every day, just like 5 years and 10 years ago.
I am at this point myself got paid to build an entire system by why own. Hope I don't dissapoint.
I'm curious about why you're asking this question. I worry that terms like "junior" or "newbie" set up a hierarchy that doesn't need to exist. It can lead to "vertical" thinking - "I'm new at this, so I'm underneath or less than the people who aren't new at this."
In reality as I experience it, everybody is a newbie at something, and folks who aren't consistently placing themselves in a newbie position are stagnating.
Any project has different aspects that will apply to folks of all experience levels - design, problem-solving, documentation, support, etc. A well-orchestrated project will apply folks to relevant problems according to their experience, without placing a judgement on which experience is better. In most cases, it's better to have a variety of experience levels on a team, so that people can have problems to solve that they aren't yet jaded about, or bored of solving, or can't yet get their minds around. It's not that your "worthiness" increases as you gain experience, it's that you are a natural fit for different sorts of problems.
Why do you think these terms shall not exist? There are people who have more experience on a subject while other people trying to learn it. I think its a natural proccess, but I admit that calling someone a newbie is a bit harsh.
When my approach started to change from how much code I should write to how much I shouldn't write.
When I started to see problems in design before they even got to development.
When I started to build up a series of small solutions in order to solve a larger problem.
Knowing how abstraction works both visually and technically.
I second this thought! What a great feeling it is, too, when someone comes to you with questions and advice. I especially love the 'aha-moments' when I can fully explain something, front to back, without hesitation. It also makes me realize that when I use to ask people questions, I wasn't wasting people's time like I had always been afraid of. It's really empowering to be looked up to or seen as a teammate with valuable knowledge. Impostor syndrome is too easy to fall into.
I realized I was seeing only the the first inception level.
After you master one insignificant sliver of software craftsmanship, you look up to realize there has been a firehose pointed at your face the whole time. Learning to drink becomes more important than the specifics of any one skill in particular. You get used to it.
For new skills, I still feel like a junior starting out. But, that does not last too long anymore.
I am starting to pick up Node. It's not my first language. It will not be my last.
Coding is like karate...Someone always knows more. One thing I have really tried to be is humble throughout my career. All of us at one point didn't "Get" when to use for, for each or while loops. I always try to help other devs get better. Always try to get better, and learn more.
Junior/Newbie is relative, and it is easy to become the big fish in a small pond. I continue to think of myself as junior though, because I hardly understand lots of the things that I am interested in learning or researching.
Working as a remote freelancer almost since I graduated from CS engineering school, it took me a while to get there. I think I started to stop thinking that when I started to have to refuse new clients, got contacted for senior positions opportunities & got invited to join "restricted" freelance network like toptal for instance.
I’m starting to form opinions about software and its construction and writing about those opinions on my blog (soon!) as well as not taking whatever a senior dev says as gospel truth. I’m also not asking how to build small apps. This signals to me that I’m at least an intermediate junior, no longer “new”.
My first job was as a freelancer while studying computer science. When I applied there, I was very confident not being a student trainee but a consultant with special knowledge in Delphi programming. My boss thought the other way around, so we met in the middle. And as it turned out, we were both right. During this job I learned a lot around programming in real projects. After finishing my studies I wanted to move on, and my boss offered me a good salary and to work for him off site. I rejected, because I wanted to work with other people in a real workplace. But I took away what I can claim when applying for a regular developer position.
The thing is: there is no real point when you turn from Junior to Senior. You always bring something valuable in to your next job, and hopefully you learn something valuable from it.
Well spoken (or in this case written)
When my Google searches started to decrease to minimal, and I got stuck less often. Also, I stopped needing a lot of help from other team members and could be doing a task from start to end without asking much.
When people didn't report too many issues when reviewing my code and I started giving discussing features and arguing about how features should be built.
I think in my first role there came a point in time where I realised that I was actually contributing to the team and my ideas didn't sound crazy to others.
I was taken seriously and noticed that others were. It was also the first time I thought "Crikey! I'm not too bad at this!"
To be honest I'm still struggling with this fact. I mean everytime there's a new tech to learn.
I love that there's so much I don't know and will never learn and I'm still a perfectly fine dev. 😋
Pretty much "never". There's always something to be new at or ways to vastly improve techniques in technologies in which you already have a significant knowledge-set.
That said, as craptacular as I feel my code is, it's amazing how frequently I'll look at fresh code from a self-described "expert" and realize "even as crap as I am with my coding, I could use Google and my existing skill-set to produce something better than this." Dunno whether that's self-deprecating or elitist: is there a term that adequately describes the combo?
Fundamentals go a long way. Lack of them seems to go even further (or, at least, more pervasively).
Somewhere around my 10th year after being a developer (and getting a monthly paycheck for that - school and university don't really count)
That.. and not being able to find any answers on the newsgroups, search engines etc. ... at that time there was no stackoverflow yet. And while searching instead of finding what I was looking I got distracted and I started providing answers to other people's questions.
I actually always feel like a newbie, well at least a couple of times per week and every few years.
Switching always introduces a year of newbie-ness.
Same goes for languages(php, elixir, c#, java etc), new databases(redis, graphql, postgres, etc), sytems(OSX, Linux, RTEMS, etc), buildtooling(grunt, brunch, gulp, webpack etc,) platforms(raspberry pi, beagleboard, pc, etc), paradigms(DDD, BDD, Scrum, etc), external api's(logstash, mailchimp, etc), frameworks(laravel, symfony, angular1-6, vuejs, etc), CMS'ses(wordpress, joomla, modx, expression engine, craftcms, etc) etc, etc.
New projects always introduce different needs.
A new thing right not is that I just picked up Erlang and embedded programming, which are totally new to me.
I can always find new areas where I am a newbie, I do think I will always be a newbie.
I think it's more important to have some self-knowledge about:
A. what those areas are and...
B. If you really need to do something about it.
I take the position that I will always be a junior/newbie, in general...what, with a new JS "framework" being birthed every other day and the rolling thunder from the rapid expansion of cloud services (see what I did there?). And I am OK with that. In terns of specific technologies, now this is where my ego tends to speak up a bit.
When I was working for a company that automatically made any programmer a "senior" after they'd been there for two years, regardless of their abilities.
I wasn't a programmer, so I was exempt from this policy and had been there three years. Everyone else in my department left, making me de facto in charge, and I realised that I was handling it ok.
When I eventually changed jobs, I just called myself a senior, and it felt right.
Hmm. I still think of myself as a junior dev in some ways. Junior as in, I see my flaws, where I would like to improve and learn more. However, I know that I'm not a junior dev when people on my team and beyond see me as a resource.
Great thoughts.
I think I did when it disappeared from my job title once I changed job.
I guess though that the right thing to do is never stop to think about yourself as a junior, in every field there is always something new to learn, and there will always be someone who knows more than you do. As a personal rule I never let my job title blind me.
I've been working for about 2.5 years full time, and I worked about a year part-time as a student. Not sure when exactly, but after I did a few team projects from scratch and after getting a hang of object design by observing what our architects did.
I don't consider myself a junior and people ask me for advice but I'm not a senior either. I wonder how long will it take for me to consider myself senior. (When I do, I'll make horrible puns such as "I'm señor Developer". Can't wait :D)
...stopped thinking as a junior developer? Luckily I haven't thought of thinking so, also won't ever. The day I'll think about the same I'll no more be able to grind my brain anymore.
When I started to point structural errors in the senior dev pull request.
i'm still a junior/newbie after 6 years! Still love learning, still trying new things. Although, i have reached a point where i'm a senior in my job and other devs and departments reply on my "expertise", i've been able to keep up so far, so just looking to continue my journey and get better.
When I joined a social platform for developers and learned that they are all incompetent.
When I realized that the sum of human knowledge about programming exists on the web and can be accessed by my brain at any time.
On March 14 when I read this incredible article on Medium: Don't be a Junior Developer
11 years experience. I'll let you know.
When senior developers started to ask me for help, I guess.
I still haven't yet, but I'm still not quite a year into my first post college "big boy" job yet.
Propably never. There's still tooooo much to learn, so I'll consider myself as junior probably till the end of my dev career :)
Actually, I still think about myself as a junior developer.
I think myself as a newbie/junior forever because I do not want to get old.
Currently rethinking this self-designation.
Though I do stuffs, each time I look around and see new techs or languages/frameworks it rings in my head that I still don't know anything...dont know if that's a good feeling.
Never, I’m junior forever! There’s always something to learn, I’ll be a senior when they put me in a retirement home!
When I can work out how to exit Vim.
"You will be a senior when you can teach and guide other programmers."
This is what my previous boss told me before he agreed to change my title and increase my salary.
Still, i haven't.... :(
When code reviews stopped to mean that I receive a bunch of comments about dummy issues, but I started to educate through my comments.
What is exactly a junior developer?
Interesting post about it hackernoon.com/dont-be-a-junior-de...
When other people recognized me as a senior
Don't know, probably when I've mastered something like a niche COBOL or K.
I still feel like a kid by the screen.
When I started out, I knew everything.
The longer I'm in the game, the more there is to learn.
The ultimate trick is to keep thinking that you're a newbie, that way you keep learning.
Never :D.
Being a pessimist here, I underestimate myself in tech space and try to be a "newbie" to become a continuous learner
Well actually I'm a junior/newbie. I'm coding just for a few years. But I hope I will see myself as a junior for the future too. With this way I can be eager to learn all the time.
The best seniors are those who retain the desire to learn as if they were juniors.