On my first day at my first job, production was down and had been down for several days. No one cared for me much. Then one of them asked me to fix production. Took me 3 days. I was writing this comment to show how horrible my first day was, but now that I'm typing it, I realize it was kinda cool. Super long and boring, but who can brag about fixing production in their first week ? ahah
I have told nearly every new developer that the surprising part of their job is that coding is not the most important part of their job, but rather solving a problem and providing solutions. Coding is just a way to do that, and not the point of being a professional software developer. I think this helps many juniors who may be nervous about how little they may know of a language realize that the point is not about writing the most “perfect” code but rather how that code provides a means for someone who is paying us to accomplish a task.
The feeling of helplessness when starting a new job as a dev is always there, even if you're a senior there's always a little doubt you may not be able to get the job done. You always feel anywhere between slightly to completely inadequate to do it. That will diminish as you gain experience with the project but never completely. One of the best things I've learned to do is taking notes in a word or one note document (it's digital so searchable!) of everything that's new to you, create lists of steps how to complete things etc. Read it through regularly and make sure if someone takes the time to teach you something you make sure they don't have to repeat it over and over again. It's easy to ask but if you keep asking the same thing it will annoy seniors to no end. I copy pieces of email, teams chat messages etc. into it too, if it's something that I have to refer back to later. I'm also a graphics designer and like to visualize complicated workflows and concepts first, discuss it with team members. It's such a great tool to help talk about the same thing, making it easier to understand. Taking a few lessons in note taking and mind mapping/drawing notes instead of writing them can help a lot.
I've always joked that the reason I get moved to a senior position in every job is because I have a pen and paper, and know how to use them. It is amazing how many people refuse to take notes.
@@damoates agreed, offloading knowledge to a log helps you to use your brain efficiently, you can't memorize everything and it's a waste of your brain capacity. It's a great way to get ahead of the pack ☺️ I've used my log for writing documentaion, when asked what I've been doing on a certain date, I can reproduce it easily, and during meetings I can find and copy paste my notes in real time on screen or in chat when something is discussed and I've noted it down in the past. The team is very impressed when they find out I've already thought about it and have a plan ready.
Very important and helpful video. I really appreciate the point about a boss explaining that this is a task that they don't expect you to know how to do/and they expect you to struggle a bit. I once had a boss that would put me on a task that was above my current levels. This caused a great deal of stress because I was under the impression that this was considered a somewhat trivial task. No matter how much we say ask for help it's still hard when you are under the impression others will judge you for it. Well, later I'd find out that the task was essentially a way for me to grow through struggling and it was expected I would have a lot of questions, struggles etc. (The real problem was the PM was asking me questions about my progress that added to the stress level because I wasn't sure how long something I didn't know how to do would take and how to give a remotely accurate answer that wouldn't lead to "oh wow, it will take that long?") So, I don't think my manager was even really wrong but expectations should have been communicated to me and perhaps most importantly the PM that this was a learning opportunity more than a critical feature that needed to be pumped out as quick as possible...
With my juniors, and frankly with every new hire. I tell them my standard rule, if you are stuck on something for more than an hour, ask for help. Sadly, few will actually follow that rule. They think that asking for help will be a mark against them and instead the struggle for hours and end up delivering something horrible. I like that you stressed... ASK FOR HELP! Junior or senior, there's no way you will 100% on your first day/week. You need help and we all know you do. ASK FOR HELP! "But I should know this, asking for help lets people know I don't." I don't care if you "should" know it or not, ASK FOR HELP! But I asked someone, and now both of us are stuck, but we'll figure it out together... NO, ASK FOR HELP! (unless there are only two people on your team.)
I mean, yea. Don't be afraid to ask. Just ask. The worst thing that can happen is just a "No, sorry. I can not help you with that" and ask the next person. Depending on country, it's not like they can fire you for asking an important question, even if you're just a beginner. There is no need to fear. In fact; it usually shows your enthusiasm and your will to learn.
I remember being a junior dev at a company which expected me to complete tasks on day 2, dealing with other peoples' code and I even did, but they expected it faster. Left it 2 weeks later and it felt good
I was in 2 minds to watch this, due to being a senior and the title aiming towards junior developers. However excellent information for EVERYONE really. Even non juniors can get good information from this. Just remember we were all there once so help others as you wanted help when you were a junior. Keep the advice coming Dave!
No education or bootcamp will prepare you for production software. It's really when theory meets practice with all the drawbacks of humans and organisations. It's large, complex, ineffective and hard. But if you are curious, eager to learn and a real problem solver you will manage it. I've been faced with so many stuff I thought I would never manage to ending up actually solving it. I wouldn't trade it for a thing
Great video. I was lucky when starting my career in IT. My first company assigned gave me a mentor. In my current company (I'm team leader) when I got new dev we spend much time in the way you said - first giving high level vision of the whole system, then of the mobile app the new dev will be working and about a week having pair coding. There are only two of us - android developers - so nowadays we often code alone but code reviews are always reading the code together and discuss it.
Thanks Dave. This is one of those videos that feels like it was made for me. Your videos have really filled in a lot of gaps that exist in my Computer Science degree. They’re full of great advice and reasoning and give a real insight into the mind of a veteran problem solver with a passion for what they do. They’re invaluable and have set the standard for me for how I want to approach my working life wherever it takes me. I’m extremely grateful for the time you’ve put into writing, recording and sharing.
1:48 - "ideally as a pair" This is the first tell that Dave is describing what it's like to be a jr dev on a *well-run* team. And I hope for the sake of all such folks reading this, that your career may be full of this sort of projects. I hope there are more career-oriented videos for various stages in a tech career. And the series I would value most is, what to do if you're on a team that *doesn't* do much of this (test enough, pair, certainly not CI/CD, etc.).? How do you know when to change projects/employers? How do you assess whether some other team is any better? It's easy to lose one's sense of agency, especially after ending up on 2 or 3 dysfunctional projects in a row.
I'm the guy that makes sure everyone has access to everything they need. We are mostly remote, so I often have to talk non-technical people through setting up openVPN and MFA (as well as making sure they have the additional access they need beyond that). For me, this interfacing between teams is what Devops is all about, and I want them to feel comfortable (or even eager) to come to me with any issues they have. Often, I either know the answer, of directly know the person that knows the answer, and I'll introduce the new person and the appropriate teammate, and lead the conversation. The job is to enable and support the other people... tooling and automation is just one prong of that.
Filling forms, reading software build guides. Been doing it for 6 months and still no real coding tasks given to me. Please make a video on "when to stop working where you work, so that you do not limit your potential as a developer"
yeah, if that's still happening after 6 months, you need to be ready to get out as soon as you can. Don't work on your CV/résumé during work hours, but if the build guides are saturated for you, you should absolutely feel OK teaching yourself more of a language and building tests or working prototypes of the code you're expecting to work with. That at least shows some proactivity to talk about in your next interviews. But make sure it's still aligned with the team's goals!
You are right . Just got handed documentation and start on working on a design. I guess it's a good approach to get your hands dirty from the get go. Finished my third day and I hope the days to come will be fine...
I got fired from one of my employers - while I was having my lunch break on a friday afternoon. They're so good, they need to delete and fake kununu reviews constantly. We had a "documentation" and a buddy system, but the guy - as a "senior" dev couldn't even explain to me how the system works. So shit comes to shove, I still couldn't understand their magic stringy, monolithic "cloud" system but was expected to work "productively". I was even told, their trainees could have been able to do it within 2 weeks (as I expected, it took them 3 months and they couldn't finish their training course). This understanding was - giving me a software/system architect interview, but giving a shit about it in the end, because I just had to work as a programmer. When pull requests get blocked 7x in a row by a semi pro "senior" without getting a proper explanation - unless you count shitty comments as explanation - it really tells tales. It's just sad that companies can't value each employee individually and stay in a "we were here first" mode - even if u bring the proper arguments that call out their bs - for each their own I guess. And I'm challenging the system each and every time, because titles don't matter to me much. I'm happy now, that I found a new, damn good and fun team, that values my opinion every time - no matter how stupid it might sound. ;) Cheers!
First day as a Software developer Finding out that all of what was discussed during the technical interviews is actually BS, that the project to which I was hired is actually under fire, lacking maintenance because every single developer that touched it decided to quit and..... finding out that the manager responsible for the project development is a total d*ck and doesn't want to do any kind of refactoring.
Raw deal. If you do want to try to make it work and are lucky, one of the devs who was actually developing on it before, is still in the company and is a nice person. Try to befriend him/her. Then using that person's knowledge, fix the urgent things, while doing refactoring in secret. Sucks as; either you need to put in a lot of work learning old stuff, or end up owing someone a favor, just to save a d*ck's a$$.
I liked your last piece of advice to invest in yourself by spending your own time to grow. Generally be engaged in your profession. Good points, thanks :)
I once started at a start-up/spinout and was given code and left for three days to look at it. No one spoke to me. The guy who employed me a few weeks earlier was no longer there - clearly something was happening. There was a company meeting at the end of the third day but I was told I shouldn't go. The fourth day, I was told I had to choose between them and a company I was a director of (it was a non-exec just because they wanted continuity with the code from the last company I worked for, but it was pretty much a non-role.) I was sent home - I never went back. They never contacted me to find out what/why. Still don't know if it was me, or the company. Don't think they went anywhere but I can't even remember what it was called - that was 20 years ago.
I'm having that rare case. I was assigned tasks that I do not know how to do because the tech stack is new to me. 3 tasks on the first day itself. The seniors are too busy and the CTO does check on me from time to time but he only asks me to do things quickly. How do I survive this?
I recently graduated as SE, so here is what I would do if I were you: I would ask for the most crucial activity that needs to be completed without delay, receive clear specifications, and then estimate the production code using the criterion "if I knew that tool/language/framework." To receive a more accurate estimate for this task, it would be wise to ask other Seniors. I let the person who given me the three tasks know that it will take me X amount of time to finish them because blah blah. & I would begin whenever he gave me the go-ahead to begin this task.
Choose 1 task, which sound smallest/easiest (event if it's not hight priority - you need to optimize for learning here). Ideally if you find a good tutorial for that in Internet, try to implement it with that. Otherwise go through some some high-level descriptions and then you should be able to know, what to look for What might sound strange, TDD could be very good here. If you know, how to write a test (even if you don't know particular testing framework - tests look similar in different technologies, so it's quick learing) you can start with that. Now you can try experimenting even if you don't know how the technology works and it's possible you will implement it even not knowing how that works
First, don’t worry about failing. A failure when you’re working on a team failure, not yours personally. Think about your problem and try your best to solve it, and don’t push yourself too hard. If they ask you why you couldn’t finish, explain what you tried and what you plan on trying next. After you work on the problem yourself for a while, ask people around for help, but make sure you can be clear about what you need and how they can help you, as their time is important. Recognize that no matter what happens, you’re going to survive. If for some crazy reason they fire you, then you would be better off on a different team.
What happens when you try to communicate with others about your issues but no one is able to answer my question either because: 1 - they don't know the answer/think what I'm asking for is impossible, 2 - or they simply ignore me, 3 -and a bonus: my boss says he will help me unblock things but then he doesn't. Then in our next scrum he asks me for an update on this block and I have to repeat myself ad nauseum as to what my issue is. 4 - bonus 2: any feedback you get is prosetylizing about processes and definitions that are not clear (i.e. "what does the customer spec say?" (idk it doesn't mention anything about this??))
Blocks are common. If they pay you for it, who cares? I’ve been tasked to do potentially impossible things. But if that’s the goal, then your boss knows the likelihood for failure and wants you to keep at it. Being paid to fail isn’t any worse than being paid to succeed.
I'm always happy to support new devs, however I suggest they go to the stationary cupboard and furnish themselves with a notebook and pen. There is nothing worse than being asked the same question day after day because they have forgotten something, and it shows they don't value their new colleagues time!
Another type of rotten first day I've had is having meetings all day about the way of working and being expected to know everything directly after that. I'm not kidding. They did prepare but they still don't understand how to introduce someone to the work and the team.
Nothing beats my situation - hired as a junior for an outsourcing company to work for an international one. I work alone as the only coder in my team, I don't have any training, the documentation is an example code that's so poorly coded and it's still not the final version (people are working on it). The one senior that I can ask for help just nods whenever I ask him something without giving a genuine answer. How the f am I supposed to do anything if NO ONE IS THERE TO SHOW ME THE BASICS??? I hate management to the core, imagine my fucking situation. I'm just waiting 6 months to have something to put in my CV and run as far as I can.
It's probably not worth doing something you hate for 6 months just to put something on your cv. Definitely spend some evening/weekends looking for a different job. Developers are in high demand, no need for us to deal with a more than small amount of bs.
@@Th3D4nny I blindly code something for specialized hardware without the hardware itself at my disposal for testing... I am looking for a new job atm, but if you live in a third world country even large companies like Google/Amazon/Microsoft require internal (family/friend) connections for them to hire you at all. No one gives a shit about your knowledge, education or acomplishments here. It's a shitshow.
@@Th3D4nny thanks mate, hopefully I'll be able to leave his shit company. Keep also in mind that the company that outsources the work is one of the largest companies in Europe. Their management is total bs, I was amazed. I wouldn't even consider applying for them after what I've been through.
As a junior developer first day. They make you make coffee with condescening remakrs. Some old people are laughing at everything you say. They close you, in a meeting room for 2 hours and tell you to design a big distributed system in 2 hours. For some reason they find it funny, when you manage to do a high level design. They make you correct typos in documentation for 2 weeks. Then after 2 weeks they tell you to wait for someone in the meeting room and because IT still did not setup your outlook you are sitting there for the whole day because you don't know someone cancelled the meeting. You discover that you don't actually have to do anything and you spend the next 2 weeks playing games in the meeting room. When your boss discovers this, you tell him he told you to be in the meeting room for next tasks. He does not remember what he ordered people to do before the weekend, much less 2 weeks ago. And he will not undermine his own orders. Welcome in Corporate hell were most people are very busy and stressed and all the middle aged people are jealous of your age and will make you suffer for it.
Great video Dave. For a junior developer, would you recommend I buy your modern software engineering book? I’ve been wanting to for some time but always thought I was too inexperienced to get the most of it.
It’s hard for me to be detached. Other people have said they think “all devs should read it”. I wrote it hoping that it would be accessible to less experienced people as well as more. I think it’s a good book and may help you, but as I said, I not exactly unbiased. Good luck.
If there are parts of it that go over your head, in a years time when you're no longer junior they will make sense. Keep at it, it will all fall into place and remember to practice, practice and practice some more. Good luck in your career!
"These kind of meetings are called stand ups" I disagree, They are called "stand ups" because they are not funny and nobody likes them (I'll show myself out).
I'm currently a plasterer doing fine financially but I really want to be a software developer . I'm thinking of the future in 31 years old and have been studying for a round a week now . I'm pretty determined I can do this . Just taking a hit on my pay to start with will be hard . There's a company called itcareer switch who will put me through training amd 6months to 1 year they guarantee an entry level software development job . Training consists of full stack development knowledge . Has anybody heard of this company , reviews seem good on trust pilot . They also do your cv, linked in profile and git hub for you . Any advise be great I'm from the UK. Thanks
On my first day at my first job, production was down and had been down for several days. No one cared for me much. Then one of them asked me to fix production. Took me 3 days. I was writing this comment to show how horrible my first day was, but now that I'm typing it, I realize it was kinda cool. Super long and boring, but who can brag about fixing production in their first week ? ahah
I have told nearly every new developer that the surprising part of their job is that coding is not the most important part of their job, but rather solving a problem and providing solutions. Coding is just a way to do that, and not the point of being a professional software developer. I think this helps many juniors who may be nervous about how little they may know of a language realize that the point is not about writing the most “perfect” code but rather how that code provides a means for someone who is paying us to accomplish a task.
Yep! A developer's job is to write as little code as possible to solve the issue sufficiently.
The feeling of helplessness when starting a new job as a dev is always there, even if you're a senior there's always a little doubt you may not be able to get the job done. You always feel anywhere between slightly to completely inadequate to do it. That will diminish as you gain experience with the project but never completely.
One of the best things I've learned to do is taking notes in a word or one note document (it's digital so searchable!) of everything that's new to you, create lists of steps how to complete things etc. Read it through regularly and make sure if someone takes the time to teach you something you make sure they don't have to repeat it over and over again. It's easy to ask but if you keep asking the same thing it will annoy seniors to no end.
I copy pieces of email, teams chat messages etc. into it too, if it's something that I have to refer back to later.
I'm also a graphics designer and like to visualize complicated workflows and concepts first, discuss it with team members. It's such a great tool to help talk about the same thing, making it easier to understand. Taking a few lessons in note taking and mind mapping/drawing notes instead of writing them can help a lot.
I've always joked that the reason I get moved to a senior position in every job is because I have a pen and paper, and know how to use them. It is amazing how many people refuse to take notes.
@@damoates agreed, offloading knowledge to a log helps you to use your brain efficiently, you can't memorize everything and it's a waste of your brain capacity. It's a great way to get ahead of the pack ☺️
I've used my log for writing documentaion, when asked what I've been doing on a certain date, I can reproduce it easily, and during meetings I can find and copy paste my notes in real time on screen or in chat when something is discussed and I've noted it down in the past. The team is very impressed when they find out I've already thought about it and have a plan ready.
Very important and helpful video. I really appreciate the point about a boss explaining that this is a task that they don't expect you to know how to do/and they expect you to struggle a bit. I once had a boss that would put me on a task that was above my current levels. This caused a great deal of stress because I was under the impression that this was considered a somewhat trivial task. No matter how much we say ask for help it's still hard when you are under the impression others will judge you for it. Well, later I'd find out that the task was essentially a way for me to grow through struggling and it was expected I would have a lot of questions, struggles etc. (The real problem was the PM was asking me questions about my progress that added to the stress level because I wasn't sure how long something I didn't know how to do would take and how to give a remotely accurate answer that wouldn't lead to "oh wow, it will take that long?")
So, I don't think my manager was even really wrong but expectations should have been communicated to me and perhaps most importantly the PM that this was a learning opportunity more than a critical feature that needed to be pumped out as quick as possible...
With my juniors, and frankly with every new hire. I tell them my standard rule, if you are stuck on something for more than an hour, ask for help. Sadly, few will actually follow that rule. They think that asking for help will be a mark against them and instead the struggle for hours and end up delivering something horrible.
I like that you stressed... ASK FOR HELP! Junior or senior, there's no way you will 100% on your first day/week. You need help and we all know you do. ASK FOR HELP! "But I should know this, asking for help lets people know I don't." I don't care if you "should" know it or not, ASK FOR HELP! But I asked someone, and now both of us are stuck, but we'll figure it out together... NO, ASK FOR HELP! (unless there are only two people on your team.)
I mean, yea. Don't be afraid to ask. Just ask. The worst thing that can happen is just a "No, sorry. I can not help you with that" and ask the next person.
Depending on country, it's not like they can fire you for asking an important question, even if you're just a beginner.
There is no need to fear. In fact; it usually shows your enthusiasm and your will to learn.
I remember being a junior dev at a company which expected me to complete tasks on day 2, dealing with other peoples' code and I even did, but they expected it faster. Left it 2 weeks later and it felt good
You know your own worth!
I was in 2 minds to watch this, due to being a senior and the title aiming towards junior developers. However excellent information for EVERYONE really. Even non juniors can get good information from this. Just remember we were all there once so help others as you wanted help when you were a junior. Keep the advice coming Dave!
No education or bootcamp will prepare you for production software.
It's really when theory meets practice with all the drawbacks of humans and organisations.
It's large, complex, ineffective and hard.
But if you are curious, eager to learn and a real problem solver you will manage it. I've been faced with so many stuff I thought I would never manage to ending up actually solving it.
I wouldn't trade it for a thing
Great video. I was lucky when starting my career in IT. My first company assigned gave me a mentor. In my current company (I'm team leader) when I got new dev we spend much time in the way you said - first giving high level vision of the whole system, then of the mobile app the new dev will be working and about a week having pair coding. There are only two of us - android developers - so nowadays we often code alone but code reviews are always reading the code together and discuss it.
Thanks Dave. This is one of those videos that feels like it was made for me. Your videos have really filled in a lot of gaps that exist in my Computer Science degree. They’re full of great advice and reasoning and give a real insight into the mind of a veteran problem solver with a passion for what they do. They’re invaluable and have set the standard for me for how I want to approach my working life wherever it takes me. I’m extremely grateful for the time you’ve put into writing, recording and sharing.
Thanks and good luck on your journey.
1:48 - "ideally as a pair"
This is the first tell that Dave is describing what it's like to be a jr dev on a *well-run* team. And I hope for the sake of all such folks reading this, that your career may be full of this sort of projects.
I hope there are more career-oriented videos for various stages in a tech career. And the series I would value most is, what to do if you're on a team that *doesn't* do much of this (test enough, pair, certainly not CI/CD, etc.).? How do you know when to change projects/employers? How do you assess whether some other team is any better?
It's easy to lose one's sense of agency, especially after ending up on 2 or 3 dysfunctional projects in a row.
10 years and 5 employers later I never encountered this.... But I would like to....
I'm the guy that makes sure everyone has access to everything they need. We are mostly remote, so I often have to talk non-technical people through setting up openVPN and MFA (as well as making sure they have the additional access they need beyond that). For me, this interfacing between teams is what Devops is all about, and I want them to feel comfortable (or even eager) to come to me with any issues they have. Often, I either know the answer, of directly know the person that knows the answer, and I'll introduce the new person and the appropriate teammate, and lead the conversation. The job is to enable and support the other people... tooling and automation is just one prong of that.
Filling forms, reading software build guides. Been doing it for 6 months and still no real coding tasks given to me. Please make a video on "when to stop working where you work, so that you do not limit your potential as a developer"
yeah, if that's still happening after 6 months, you need to be ready to get out as soon as you can. Don't work on your CV/résumé during work hours, but if the build guides are saturated for you, you should absolutely feel OK teaching yourself more of a language and building tests or working prototypes of the code you're expecting to work with. That at least shows some proactivity to talk about in your next interviews. But make sure it's still aligned with the team's goals!
You are right . Just got handed documentation and start on working on a design. I guess it's a good approach to get your hands dirty from the get go. Finished my third day and I hope the days to come will be fine...
I got fired from one of my employers - while I was having my lunch break on a friday afternoon.
They're so good, they need to delete and fake kununu reviews constantly.
We had a "documentation" and a buddy system, but the guy - as a "senior" dev couldn't even explain to me how the system works.
So shit comes to shove, I still couldn't understand their magic stringy, monolithic "cloud" system but was expected to work "productively".
I was even told, their trainees could have been able to do it within 2 weeks (as I expected, it took them 3 months and they couldn't finish their training course).
This understanding was - giving me a software/system architect interview, but giving a shit about it in the end, because I just had to work as a programmer.
When pull requests get blocked 7x in a row by a semi pro "senior" without getting a proper explanation - unless you count shitty comments as explanation - it really tells tales.
It's just sad that companies can't value each employee individually and stay in a "we were here first" mode - even if u bring the proper arguments that call out their bs - for each their own I guess. And I'm challenging the system each and every time, because titles don't matter to me much.
I'm happy now, that I found a new, damn good and fun team, that values my opinion every time - no matter how stupid it might sound. ;)
Cheers!
Thanks Dave, this is extremely helpful to me as I am starting out. Cheers.
Great to hear!
First day as a Software developer
Finding out that all of what was discussed during the technical interviews is actually BS, that the project to which I was hired is actually under fire, lacking maintenance because every single developer that touched it decided to quit and..... finding out that the manager responsible for the project development is a total d*ck and doesn't want to do any kind of refactoring.
Sorry to hear it, best of luck! 🙁
Raw deal. If you do want to try to make it work and are lucky, one of the devs who was actually developing on it before, is still in the company and is a nice person. Try to befriend him/her. Then using that person's knowledge, fix the urgent things, while doing refactoring in secret. Sucks as; either you need to put in a lot of work learning old stuff, or end up owing someone a favor, just to save a d*ck's a$$.
I liked your last piece of advice to invest in yourself by spending your own time to grow. Generally be engaged in your profession. Good points, thanks :)
I once started at a start-up/spinout and was given code and left for three days to look at it. No one spoke to me. The guy who employed me a few weeks earlier was no longer there - clearly something was happening. There was a company meeting at the end of the third day but I was told I shouldn't go. The fourth day, I was told I had to choose between them and a company I was a director of (it was a non-exec just because they wanted continuity with the code from the last company I worked for, but it was pretty much a non-role.) I was sent home - I never went back. They never contacted me to find out what/why. Still don't know if it was me, or the company. Don't think they went anywhere but I can't even remember what it was called - that was 20 years ago.
I'm having that rare case. I was assigned tasks that I do not know how to do because the tech stack is new to me. 3 tasks on the first day itself. The seniors are too busy and the CTO does check on me from time to time but he only asks me to do things quickly.
How do I survive this?
I recently graduated as SE, so here is what I would do if I were you: I would ask for the most crucial activity that needs to be completed without delay, receive clear specifications, and then estimate the production code using the criterion "if I knew that tool/language/framework." To receive a more accurate estimate for this task, it would be wise to ask other Seniors. I let the person who given me the three tasks know that it will take me X amount of time to finish them because blah blah. & I would begin whenever he gave me the go-ahead to begin this task.
Choose 1 task, which sound smallest/easiest (event if it's not hight priority - you need to optimize for learning here). Ideally if you find a good tutorial for that in Internet, try to implement it with that. Otherwise go through some some high-level descriptions and then you should be able to know, what to look for
What might sound strange, TDD could be very good here. If you know, how to write a test (even if you don't know particular testing framework - tests look similar in different technologies, so it's quick learing) you can start with that. Now you can try experimenting even if you don't know how the technology works and it's possible you will implement it even not knowing how that works
First, don’t worry about failing. A failure when you’re working on a team failure, not yours personally. Think about your problem and try your best to solve it, and don’t push yourself too hard. If they ask you why you couldn’t finish, explain what you tried and what you plan on trying next. After you work on the problem yourself for a while, ask people around for help, but make sure you can be clear about what you need and how they can help you, as their time is important. Recognize that no matter what happens, you’re going to survive. If for some crazy reason they fire you, then you would be better off on a different team.
What happens when you try to communicate with others about your issues but no one is able to answer my question either because:
1 - they don't know the answer/think what I'm asking for is impossible,
2 - or they simply ignore me,
3 -and a bonus: my boss says he will help me unblock things but then he doesn't. Then in our next scrum he asks me for an update on this block and I have to repeat myself ad nauseum as to what my issue is.
4 - bonus 2: any feedback you get is prosetylizing about processes and definitions that are not clear (i.e. "what does the customer spec say?" (idk it doesn't mention anything about this??))
Blocks are common. If they pay you for it, who cares? I’ve been tasked to do potentially impossible things. But if that’s the goal, then your boss knows the likelihood for failure and wants you to keep at it. Being paid to fail isn’t any worse than being paid to succeed.
I'm always happy to support new devs, however I suggest they go to the stationary cupboard and furnish themselves with a notebook and pen. There is nothing worse than being asked the same question day after day because they have forgotten something, and it shows they don't value their new colleagues time!
Would the job posting asking for 10 years of expierence for a JR dev be a sign its not a good place a JR dev?
Yes, I think that counts as a warning. 😉
dave, are there any situations that it's just better to leave the job because it's not good for improving etc.?
Another type of rotten first day I've had is having meetings all day about the way of working and being expected to know everything directly after that. I'm not kidding. They did prepare but they still don't understand how to introduce someone to the work and the team.
Nothing beats my situation - hired as a junior for an outsourcing company to work for an international one. I work alone as the only coder in my team, I don't have any training, the documentation is an example code that's so poorly coded and it's still not the final version (people are working on it). The one senior that I can ask for help just nods whenever I ask him something without giving a genuine answer. How the f am I supposed to do anything if NO ONE IS THERE TO SHOW ME THE BASICS??? I hate management to the core, imagine my fucking situation. I'm just waiting 6 months to have something to put in my CV and run as far as I can.
It's probably not worth doing something you hate for 6 months just to put something on your cv. Definitely spend some evening/weekends looking for a different job. Developers are in high demand, no need for us to deal with a more than small amount of bs.
@@Th3D4nny I blindly code something for specialized hardware without the hardware itself at my disposal for testing... I am looking for a new job atm, but if you live in a third world country even large companies like Google/Amazon/Microsoft require internal (family/friend) connections for them to hire you at all. No one gives a shit about your knowledge, education or acomplishments here. It's a shitshow.
@@voidvoid5151 that's crazy. I hope your situation improves soon!
@@Th3D4nny thanks mate, hopefully I'll be able to leave his shit company. Keep also in mind that the company that outsources the work is one of the largest companies in Europe. Their management is total bs, I was amazed. I wouldn't even consider applying for them after what I've been through.
22 years in software for me - many companies I see don't know how to maintain their own software well! You see all this BS code...
As a junior developer first day.
They make you make coffee with condescening remakrs. Some old people are laughing at everything you say. They close you, in a meeting room for 2 hours and tell you to design a big distributed system in 2 hours. For some reason they find it funny, when you manage to do a high level design. They make you correct typos in documentation for 2 weeks. Then after 2 weeks they tell you to wait for someone in the meeting room and because IT still did not setup your outlook you are sitting there for the whole day because you don't know someone cancelled the meeting. You discover that you don't actually have to do anything and you spend the next 2 weeks playing games in the meeting room. When your boss discovers this, you tell him he told you to be in the meeting room for next tasks. He does not remember what he ordered people to do before the weekend, much less 2 weeks ago. And he will not undermine his own orders.
Welcome in Corporate hell were most people are very busy and stressed and all the middle aged people are jealous of your age and will make you suffer for it.
If it isn’t working by 5pm, don’t come back tomorrow ! - that’s what I got told as a junior.
😔
bruh, should have left then and there
That’s pretty considerate of them, letting you off work by 5.
Great video Dave. For a junior developer, would you recommend I buy your modern software engineering book? I’ve been wanting to for some time but always thought I was too inexperienced to get the most of it.
It’s hard for me to be detached. Other people have said they think “all devs should read it”. I wrote it hoping that it would be accessible to less experienced people as well as more. I think it’s a good book and may help you, but as I said, I not exactly unbiased. Good luck.
@@ContinuousDelivery thanks Dave! Appreciate the response!
If there are parts of it that go over your head, in a years time when you're no longer junior they will make sense. Keep at it, it will all fall into place and remember to practice, practice and practice some more. Good luck in your career!
Gramps, good work on the thumbnails though 😅
💯✨
"These kind of meetings are called stand ups"
I disagree, They are called "stand ups" because they are not funny and nobody likes them
(I'll show myself out).
😉🤣
First?
I'm currently a plasterer doing fine financially but I really want to be a software developer . I'm thinking of the future in 31 years old and have been studying for a round a week now . I'm pretty determined I can do this . Just taking a hit on my pay to start with will be hard . There's a company called itcareer switch who will put me through training amd 6months to 1 year they guarantee an entry level software development job .
Training consists of full stack development knowledge .
Has anybody heard of this company , reviews seem good on trust pilot . They also do your cv, linked in profile and git hub for you .
Any advise be great
I'm from the UK. Thanks