Junior developer struggles: how to communicate with management?Colleague in two-person team is writing bad...

If an enemy is just below a 10-foot-high ceiling, are they in melee range of a creature on the ground?

Is it cheaper to drop cargo than to land it?

What happened to Ghost?

Visa for volunteering in England

How to back up a running Linode server?

Why are there synthetic chemicals in our bodies? Where do they come from?

How do you center multiple equations that have multiple steps?

How do I tell my manager that his code review comment is wrong?

How to get SEEK accessing converted ID via view

Save terminal output to a txt file

Is Cola "probably the best-known" Latin word in the world? If not, which might it be?

Power LED from 3.3V Power Pin without Resistor

Packet sniffer for MacOS Mojave and above

Pigeonhole Principle Problem

Can commander tax be proliferated?

Attending a conference where my ex-supervisor and his collaborator are present, should I attend?

What is the limiting factor for a CAN bus to exceed 1Mbps bandwidth?

Does higher resolution in an image imply more bits per pixel?

How to reply this mail from potential PhD professor?

Why was Germany not as successful as other Europeans in establishing overseas colonies?

Pressure to defend the relevance of one's area of mathematics

What happens if I start too many background jobs?

How to scale a verbatim environment on a minipage?

Why do money exchangers give different rates to different bills



Junior developer struggles: how to communicate with management?


Colleague in two-person team is writing bad code, no standards, and the company is growing fast. What needs to be put in place for good code quality?New college grad hired as a hardware developer; how do I deal with being told I'm now a Front-End Web developer?Company wants me to do a coding test for a management positionIs my lack of web ability holding me back in my programming career?How Do I Motivate a Junior Developer?Junior Developer doing well but management wants to fire himHow can I deal with managers that refuse to accept use of common software engineering design patterns?How to deal with a difficult junior programmer?How can I avoid critical mistakes in a new code environment?My progress is stagnating and I don't want to disappoint my supervisor (Internship)






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







7















I learnt programming at home and was a brilliant bootcamp graduate (that is, by the standards of that bootcamp, which is certainly not as good as top US bootcamps), I found a job fairly easily considering how hard I think it should have been. The interview went really well.



Now I work for a tech company that basically has one main software it writes for other very large companies, and it poses a few challenges: 1) it's tough for me to grasp what everything is doing (they have been writing/updating this software for years now), 2) I'm seeing code written in ways I'm not use to, and finally 3) I don't understand all the code at first glance, sometimes not at all. My main task for the next 6 months will be to write unit tests then integration tests because "you need to get used to our software", which I think makes perfect sense, although my interview had nothing to do with that. Most people are really nice and friendly, and there is a good atmosphere in this company.



My problem is that I have to write tests for methods that I don't understand most of the time, I don't always understand which parameters they have to take, what it returns, I don't know what I have to mock in order to make my method unit-testable, and I don't always understand the instructions I'm given. After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.



I am quite frustrated because I am quite hungry to learn, however, it's not by watching videos on Pluralsight/read articles that I will get better at what challenges me (or am I wrong?), so I can't even practice at home. I think that I embarrass myself whenever I ask a question so I tend to be stuck a lot, staring at the screen and trying to make sense of what I'm reading. I feel like an impostor surrounded by people that 'get it', and to be honest my confidence has taken quite a big hit (I went from being arguably the best in class to definitely the worst in a company). During bad moments I sometimes catch myself wondering if going into software development was a good idea, and if I'm not a victim of a sunk-cost fallacy (as in, "I spent too much time learning this to quit now").



My questions:



1 - Is it normal?



2 - What can I do better?



3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?



Thank you very much,



Edit:



I worked there only 2 weeks, it's my 3rd job.










share|improve this question









New contributor




Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    I don't have a full answer but it's fair to say that jumping into a fully fleshed out code base is challenging at any level. Definitely give it a few months and you'll likely have a better grip on what the code is doing.

    – Steve-o169
    6 hours ago











  • How long have your other two jobs been?

    – HorusKol
    6 hours ago






  • 1





    You should be asking questions frequently. I get pissed off when employees waste four hours failing to figure something out that could have been solved in under two minutes by asking me a simple question.

    – MineR
    59 mins ago











  • Trying to save yourself embarrassment is what's costing the company. You're one of those 'gifted' kids, to whom the world has done a disservice, because you never learned how to fail. Which means that you've never actually learned anything; you just know stuff. The only cure for that is working somewhere longer than 2w...

    – Mazura
    35 mins ago











  • No joke: "was a brilliant bootcamp graduate" that attitude.

    – Sam
    14 mins ago


















7















I learnt programming at home and was a brilliant bootcamp graduate (that is, by the standards of that bootcamp, which is certainly not as good as top US bootcamps), I found a job fairly easily considering how hard I think it should have been. The interview went really well.



Now I work for a tech company that basically has one main software it writes for other very large companies, and it poses a few challenges: 1) it's tough for me to grasp what everything is doing (they have been writing/updating this software for years now), 2) I'm seeing code written in ways I'm not use to, and finally 3) I don't understand all the code at first glance, sometimes not at all. My main task for the next 6 months will be to write unit tests then integration tests because "you need to get used to our software", which I think makes perfect sense, although my interview had nothing to do with that. Most people are really nice and friendly, and there is a good atmosphere in this company.



My problem is that I have to write tests for methods that I don't understand most of the time, I don't always understand which parameters they have to take, what it returns, I don't know what I have to mock in order to make my method unit-testable, and I don't always understand the instructions I'm given. After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.



I am quite frustrated because I am quite hungry to learn, however, it's not by watching videos on Pluralsight/read articles that I will get better at what challenges me (or am I wrong?), so I can't even practice at home. I think that I embarrass myself whenever I ask a question so I tend to be stuck a lot, staring at the screen and trying to make sense of what I'm reading. I feel like an impostor surrounded by people that 'get it', and to be honest my confidence has taken quite a big hit (I went from being arguably the best in class to definitely the worst in a company). During bad moments I sometimes catch myself wondering if going into software development was a good idea, and if I'm not a victim of a sunk-cost fallacy (as in, "I spent too much time learning this to quit now").



My questions:



1 - Is it normal?



2 - What can I do better?



3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?



Thank you very much,



Edit:



I worked there only 2 weeks, it's my 3rd job.










share|improve this question









New contributor




Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    I don't have a full answer but it's fair to say that jumping into a fully fleshed out code base is challenging at any level. Definitely give it a few months and you'll likely have a better grip on what the code is doing.

    – Steve-o169
    6 hours ago











  • How long have your other two jobs been?

    – HorusKol
    6 hours ago






  • 1





    You should be asking questions frequently. I get pissed off when employees waste four hours failing to figure something out that could have been solved in under two minutes by asking me a simple question.

    – MineR
    59 mins ago











  • Trying to save yourself embarrassment is what's costing the company. You're one of those 'gifted' kids, to whom the world has done a disservice, because you never learned how to fail. Which means that you've never actually learned anything; you just know stuff. The only cure for that is working somewhere longer than 2w...

    – Mazura
    35 mins ago











  • No joke: "was a brilliant bootcamp graduate" that attitude.

    – Sam
    14 mins ago














7












7








7








I learnt programming at home and was a brilliant bootcamp graduate (that is, by the standards of that bootcamp, which is certainly not as good as top US bootcamps), I found a job fairly easily considering how hard I think it should have been. The interview went really well.



Now I work for a tech company that basically has one main software it writes for other very large companies, and it poses a few challenges: 1) it's tough for me to grasp what everything is doing (they have been writing/updating this software for years now), 2) I'm seeing code written in ways I'm not use to, and finally 3) I don't understand all the code at first glance, sometimes not at all. My main task for the next 6 months will be to write unit tests then integration tests because "you need to get used to our software", which I think makes perfect sense, although my interview had nothing to do with that. Most people are really nice and friendly, and there is a good atmosphere in this company.



My problem is that I have to write tests for methods that I don't understand most of the time, I don't always understand which parameters they have to take, what it returns, I don't know what I have to mock in order to make my method unit-testable, and I don't always understand the instructions I'm given. After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.



I am quite frustrated because I am quite hungry to learn, however, it's not by watching videos on Pluralsight/read articles that I will get better at what challenges me (or am I wrong?), so I can't even practice at home. I think that I embarrass myself whenever I ask a question so I tend to be stuck a lot, staring at the screen and trying to make sense of what I'm reading. I feel like an impostor surrounded by people that 'get it', and to be honest my confidence has taken quite a big hit (I went from being arguably the best in class to definitely the worst in a company). During bad moments I sometimes catch myself wondering if going into software development was a good idea, and if I'm not a victim of a sunk-cost fallacy (as in, "I spent too much time learning this to quit now").



My questions:



1 - Is it normal?



2 - What can I do better?



3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?



Thank you very much,



Edit:



I worked there only 2 weeks, it's my 3rd job.










share|improve this question









New contributor




Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












I learnt programming at home and was a brilliant bootcamp graduate (that is, by the standards of that bootcamp, which is certainly not as good as top US bootcamps), I found a job fairly easily considering how hard I think it should have been. The interview went really well.



Now I work for a tech company that basically has one main software it writes for other very large companies, and it poses a few challenges: 1) it's tough for me to grasp what everything is doing (they have been writing/updating this software for years now), 2) I'm seeing code written in ways I'm not use to, and finally 3) I don't understand all the code at first glance, sometimes not at all. My main task for the next 6 months will be to write unit tests then integration tests because "you need to get used to our software", which I think makes perfect sense, although my interview had nothing to do with that. Most people are really nice and friendly, and there is a good atmosphere in this company.



My problem is that I have to write tests for methods that I don't understand most of the time, I don't always understand which parameters they have to take, what it returns, I don't know what I have to mock in order to make my method unit-testable, and I don't always understand the instructions I'm given. After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.



I am quite frustrated because I am quite hungry to learn, however, it's not by watching videos on Pluralsight/read articles that I will get better at what challenges me (or am I wrong?), so I can't even practice at home. I think that I embarrass myself whenever I ask a question so I tend to be stuck a lot, staring at the screen and trying to make sense of what I'm reading. I feel like an impostor surrounded by people that 'get it', and to be honest my confidence has taken quite a big hit (I went from being arguably the best in class to definitely the worst in a company). During bad moments I sometimes catch myself wondering if going into software development was a good idea, and if I'm not a victim of a sunk-cost fallacy (as in, "I spent too much time learning this to quit now").



My questions:



1 - Is it normal?



2 - What can I do better?



3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?



Thank you very much,



Edit:



I worked there only 2 weeks, it's my 3rd job.







software-development first-job junior






share|improve this question









New contributor




Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 6 hours ago







Michel12













New contributor




Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 7 hours ago









Michel12Michel12

383




383




New contributor




Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Michel12 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 2





    I don't have a full answer but it's fair to say that jumping into a fully fleshed out code base is challenging at any level. Definitely give it a few months and you'll likely have a better grip on what the code is doing.

    – Steve-o169
    6 hours ago











  • How long have your other two jobs been?

    – HorusKol
    6 hours ago






  • 1





    You should be asking questions frequently. I get pissed off when employees waste four hours failing to figure something out that could have been solved in under two minutes by asking me a simple question.

    – MineR
    59 mins ago











  • Trying to save yourself embarrassment is what's costing the company. You're one of those 'gifted' kids, to whom the world has done a disservice, because you never learned how to fail. Which means that you've never actually learned anything; you just know stuff. The only cure for that is working somewhere longer than 2w...

    – Mazura
    35 mins ago











  • No joke: "was a brilliant bootcamp graduate" that attitude.

    – Sam
    14 mins ago














  • 2





    I don't have a full answer but it's fair to say that jumping into a fully fleshed out code base is challenging at any level. Definitely give it a few months and you'll likely have a better grip on what the code is doing.

    – Steve-o169
    6 hours ago











  • How long have your other two jobs been?

    – HorusKol
    6 hours ago






  • 1





    You should be asking questions frequently. I get pissed off when employees waste four hours failing to figure something out that could have been solved in under two minutes by asking me a simple question.

    – MineR
    59 mins ago











  • Trying to save yourself embarrassment is what's costing the company. You're one of those 'gifted' kids, to whom the world has done a disservice, because you never learned how to fail. Which means that you've never actually learned anything; you just know stuff. The only cure for that is working somewhere longer than 2w...

    – Mazura
    35 mins ago











  • No joke: "was a brilliant bootcamp graduate" that attitude.

    – Sam
    14 mins ago








2




2





I don't have a full answer but it's fair to say that jumping into a fully fleshed out code base is challenging at any level. Definitely give it a few months and you'll likely have a better grip on what the code is doing.

– Steve-o169
6 hours ago





I don't have a full answer but it's fair to say that jumping into a fully fleshed out code base is challenging at any level. Definitely give it a few months and you'll likely have a better grip on what the code is doing.

– Steve-o169
6 hours ago













How long have your other two jobs been?

– HorusKol
6 hours ago





How long have your other two jobs been?

– HorusKol
6 hours ago




1




1





You should be asking questions frequently. I get pissed off when employees waste four hours failing to figure something out that could have been solved in under two minutes by asking me a simple question.

– MineR
59 mins ago





You should be asking questions frequently. I get pissed off when employees waste four hours failing to figure something out that could have been solved in under two minutes by asking me a simple question.

– MineR
59 mins ago













Trying to save yourself embarrassment is what's costing the company. You're one of those 'gifted' kids, to whom the world has done a disservice, because you never learned how to fail. Which means that you've never actually learned anything; you just know stuff. The only cure for that is working somewhere longer than 2w...

– Mazura
35 mins ago





Trying to save yourself embarrassment is what's costing the company. You're one of those 'gifted' kids, to whom the world has done a disservice, because you never learned how to fail. Which means that you've never actually learned anything; you just know stuff. The only cure for that is working somewhere longer than 2w...

– Mazura
35 mins ago













No joke: "was a brilliant bootcamp graduate" that attitude.

– Sam
14 mins ago





No joke: "was a brilliant bootcamp graduate" that attitude.

– Sam
14 mins ago










3 Answers
3






active

oldest

votes


















7















After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.




You will not create "net positive" value for the company for much longer than that (even when I hire senior developers I assume they aren't net positive for 6 months).



Everything you mentioned in your question are actually good signs - it sounds like they are making interesting and non-trivial software, meaning there are many opportunities for you to learn, and it means that they are invested in you - by giving you the time and space to get up to speed.



Writing unit and integration tests are a fairly common way to onboard new junior employees. You will learn the IDE, source control system, build process, and all the various formal and informal workflows of how they develop software, while focusing on relatively bite-size chunks of work. You also get to learn a lot about the business functionality their software provides.




1 - Is it normal?




Yes. You are not an impostor, and there is no reason to think going into this field was a bad idea. In fact, from the fact that they hired you, and want to invest in you, it seems like it was a good idea. The most important thing is to get over the naive belief that just because you were "arguably the best" in your boot camp, that meant you were prepared to walk into a development shop day one and start producing value. The boot camp provided you with the basic foundation of programming - there is a lot, lot, lot more to being a professional developer, which you can only learn on the job.




2 - What can I do better?




I think there are two "scopes" to this. The first is stuff you can do on your own. Invest your own time in learning the language you are programming in - the fine points, the advanced features, etc. Even if your boot camp was in the same language you are now working on, there is a lot to learn (I've been programming in the same primary language for >10 years and am still learning new things every day). If any of the other tools they use are publically/freely available (the IDE, the source control tool) practice with those too. Also, send time learning about the basics of computer science (algorithms, data structures). Even if you aren't using that knowledge right away, it will always come in helpful.



The second, while not specifically related to the testing you are doing, can be done as part of that work. That is to develop the ability to "analyze" a piece of code. Take the simplest test you can find, testing the simplest piece of code, and try to work out the control flow of that piece of code. Run it through a debugger, stopping on every line, and see what it is actually doing. Modify the test slightly and see how it behaves differently. Try and come up with a test that will test a different if-branch (etc.). Use your IDE source control tool and look at the most recent commit which changed that code. See if you can understand what that change did (especially useful if you can link back to the ticket which documented that change). Move to a slightly more complex test and repeat. Now, take the piece of code they want you to test, and conduct that analysis beforehand. Use that to write your first test.



If you need help, ask the author of the test or code you are looking to provide you an overview.




3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?




No one is born knowing how to code. Therefore your colleagues and managers all started at a similar place as you did. As long as they aren't jerks (and you already said they aren't), they know and expect you to ask them for help.



Of course, you'll need to find the right balance between asking too many questions, and not asking for help early enough. I've often told my juniors "don't waste 3 hours trying to figure out something I can help you with in 5 minutes". Conversely, don't waste my 5 minutes if you haven't spent some time trying to figure it out on your own.



If you don't already have one scheduled, ask your manager for a weekly 30 minute meeting. To quote another answer I've written here:




your manager's job [is] to do his/her best to give you the opportunities to succeed - this can only happen if you two have regular and frequent conversations, and if during those conversations you are open and honest about where you are having difficulties, where you need support, where you are getting stuck, and where you learn what he/she is expecting from you.




One of the most important things to ask is "where should I start" and "who should I bother for help"



Good luck!






share|improve this answer































    6















    I worked there only 2 weeks




    You need to give it a lot more than just 2 weeks.




    • Everyone feels a bit overwhelmed when they initially start a programming job.

    • Your first few weeks/months will involve unlearning lots of things you were taught in school/bootcamp and learning how real software work is done.

    • Nobody understands all the code at first glance. Sometimes existing code is poorly commented and indecipherable to everyone except the original author.


    Take things gradually. You'll almost certainly find that each week is a bit more comfortable than the last.



    Take advantage of the nice and friendly culture. Ask for help when you need it.



    And don't be so hard on yourself. If you learned programming on your own, then went on to be brilliant at bootcamp, you'll most likely be fine with a bit more patience and hard work.






    share|improve this answer































      5














      Welcome to the Jungle. :)



      Yes. It's normal. You're a junior. It's expected that you will not have a clue, and that's why they're having you do what you're doing.



      Ask questions. Get the understanding. Ask what you can read on your own time to help you develop an understanding. Be willing to work hard even by spending a few hours outside of work. I'd be concerned about a junior developer that DID NOT ask questions. I'd be willing to bet that any of your coworkers who are seniors started just as you have.



      Ask questions, and learn. In time you won't have to ask questions. It will just click and you'll get it.






      share|improve this answer
























        Your Answer








        StackExchange.ready(function() {
        var channelOptions = {
        tags: "".split(" "),
        id: "423"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled) {
        StackExchange.using("snippets", function() {
        createEditor();
        });
        }
        else {
        createEditor();
        }
        });

        function createEditor() {
        StackExchange.prepareEditor({
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: false,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: null,
        bindNavPrevention: true,
        postfix: "",
        imageUploader: {
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        },
        noCode: true, onDemand: false,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        });


        }
        });






        Michel12 is a new contributor. Be nice, and check out our Code of Conduct.










        draft saved

        draft discarded


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f135745%2fjunior-developer-struggles-how-to-communicate-with-management%23new-answer', 'question_page');
        }
        );

        Post as a guest















        Required, but never shown




















        StackExchange.ready(function () {
        $("#show-editor-button input, #show-editor-button button").click(function () {
        var showEditor = function() {
        $("#show-editor-button").hide();
        $("#post-form").removeClass("dno");
        StackExchange.editor.finallyInit();
        };

        var useFancy = $(this).data('confirm-use-fancy');
        if(useFancy == 'True') {
        var popupTitle = $(this).data('confirm-fancy-title');
        var popupBody = $(this).data('confirm-fancy-body');
        var popupAccept = $(this).data('confirm-fancy-accept-button');

        $(this).loadPopup({
        url: '/post/self-answer-popup',
        loaded: function(popup) {
        var pTitle = $(popup).find('h2');
        var pBody = $(popup).find('.popup-body');
        var pSubmit = $(popup).find('.popup-submit');

        pTitle.text(popupTitle);
        pBody.html(popupBody);
        pSubmit.val(popupAccept).click(showEditor);
        }
        })
        } else{
        var confirmText = $(this).data('confirm-text');
        if (confirmText ? confirm(confirmText) : true) {
        showEditor();
        }
        }
        });
        });






        3 Answers
        3






        active

        oldest

        votes








        3 Answers
        3






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        7















        After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.




        You will not create "net positive" value for the company for much longer than that (even when I hire senior developers I assume they aren't net positive for 6 months).



        Everything you mentioned in your question are actually good signs - it sounds like they are making interesting and non-trivial software, meaning there are many opportunities for you to learn, and it means that they are invested in you - by giving you the time and space to get up to speed.



        Writing unit and integration tests are a fairly common way to onboard new junior employees. You will learn the IDE, source control system, build process, and all the various formal and informal workflows of how they develop software, while focusing on relatively bite-size chunks of work. You also get to learn a lot about the business functionality their software provides.




        1 - Is it normal?




        Yes. You are not an impostor, and there is no reason to think going into this field was a bad idea. In fact, from the fact that they hired you, and want to invest in you, it seems like it was a good idea. The most important thing is to get over the naive belief that just because you were "arguably the best" in your boot camp, that meant you were prepared to walk into a development shop day one and start producing value. The boot camp provided you with the basic foundation of programming - there is a lot, lot, lot more to being a professional developer, which you can only learn on the job.




        2 - What can I do better?




        I think there are two "scopes" to this. The first is stuff you can do on your own. Invest your own time in learning the language you are programming in - the fine points, the advanced features, etc. Even if your boot camp was in the same language you are now working on, there is a lot to learn (I've been programming in the same primary language for >10 years and am still learning new things every day). If any of the other tools they use are publically/freely available (the IDE, the source control tool) practice with those too. Also, send time learning about the basics of computer science (algorithms, data structures). Even if you aren't using that knowledge right away, it will always come in helpful.



        The second, while not specifically related to the testing you are doing, can be done as part of that work. That is to develop the ability to "analyze" a piece of code. Take the simplest test you can find, testing the simplest piece of code, and try to work out the control flow of that piece of code. Run it through a debugger, stopping on every line, and see what it is actually doing. Modify the test slightly and see how it behaves differently. Try and come up with a test that will test a different if-branch (etc.). Use your IDE source control tool and look at the most recent commit which changed that code. See if you can understand what that change did (especially useful if you can link back to the ticket which documented that change). Move to a slightly more complex test and repeat. Now, take the piece of code they want you to test, and conduct that analysis beforehand. Use that to write your first test.



        If you need help, ask the author of the test or code you are looking to provide you an overview.




        3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?




        No one is born knowing how to code. Therefore your colleagues and managers all started at a similar place as you did. As long as they aren't jerks (and you already said they aren't), they know and expect you to ask them for help.



        Of course, you'll need to find the right balance between asking too many questions, and not asking for help early enough. I've often told my juniors "don't waste 3 hours trying to figure out something I can help you with in 5 minutes". Conversely, don't waste my 5 minutes if you haven't spent some time trying to figure it out on your own.



        If you don't already have one scheduled, ask your manager for a weekly 30 minute meeting. To quote another answer I've written here:




        your manager's job [is] to do his/her best to give you the opportunities to succeed - this can only happen if you two have regular and frequent conversations, and if during those conversations you are open and honest about where you are having difficulties, where you need support, where you are getting stuck, and where you learn what he/she is expecting from you.




        One of the most important things to ask is "where should I start" and "who should I bother for help"



        Good luck!






        share|improve this answer




























          7















          After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.




          You will not create "net positive" value for the company for much longer than that (even when I hire senior developers I assume they aren't net positive for 6 months).



          Everything you mentioned in your question are actually good signs - it sounds like they are making interesting and non-trivial software, meaning there are many opportunities for you to learn, and it means that they are invested in you - by giving you the time and space to get up to speed.



          Writing unit and integration tests are a fairly common way to onboard new junior employees. You will learn the IDE, source control system, build process, and all the various formal and informal workflows of how they develop software, while focusing on relatively bite-size chunks of work. You also get to learn a lot about the business functionality their software provides.




          1 - Is it normal?




          Yes. You are not an impostor, and there is no reason to think going into this field was a bad idea. In fact, from the fact that they hired you, and want to invest in you, it seems like it was a good idea. The most important thing is to get over the naive belief that just because you were "arguably the best" in your boot camp, that meant you were prepared to walk into a development shop day one and start producing value. The boot camp provided you with the basic foundation of programming - there is a lot, lot, lot more to being a professional developer, which you can only learn on the job.




          2 - What can I do better?




          I think there are two "scopes" to this. The first is stuff you can do on your own. Invest your own time in learning the language you are programming in - the fine points, the advanced features, etc. Even if your boot camp was in the same language you are now working on, there is a lot to learn (I've been programming in the same primary language for >10 years and am still learning new things every day). If any of the other tools they use are publically/freely available (the IDE, the source control tool) practice with those too. Also, send time learning about the basics of computer science (algorithms, data structures). Even if you aren't using that knowledge right away, it will always come in helpful.



          The second, while not specifically related to the testing you are doing, can be done as part of that work. That is to develop the ability to "analyze" a piece of code. Take the simplest test you can find, testing the simplest piece of code, and try to work out the control flow of that piece of code. Run it through a debugger, stopping on every line, and see what it is actually doing. Modify the test slightly and see how it behaves differently. Try and come up with a test that will test a different if-branch (etc.). Use your IDE source control tool and look at the most recent commit which changed that code. See if you can understand what that change did (especially useful if you can link back to the ticket which documented that change). Move to a slightly more complex test and repeat. Now, take the piece of code they want you to test, and conduct that analysis beforehand. Use that to write your first test.



          If you need help, ask the author of the test or code you are looking to provide you an overview.




          3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?




          No one is born knowing how to code. Therefore your colleagues and managers all started at a similar place as you did. As long as they aren't jerks (and you already said they aren't), they know and expect you to ask them for help.



          Of course, you'll need to find the right balance between asking too many questions, and not asking for help early enough. I've often told my juniors "don't waste 3 hours trying to figure out something I can help you with in 5 minutes". Conversely, don't waste my 5 minutes if you haven't spent some time trying to figure it out on your own.



          If you don't already have one scheduled, ask your manager for a weekly 30 minute meeting. To quote another answer I've written here:




          your manager's job [is] to do his/her best to give you the opportunities to succeed - this can only happen if you two have regular and frequent conversations, and if during those conversations you are open and honest about where you are having difficulties, where you need support, where you are getting stuck, and where you learn what he/she is expecting from you.




          One of the most important things to ask is "where should I start" and "who should I bother for help"



          Good luck!






          share|improve this answer


























            7












            7








            7








            After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.




            You will not create "net positive" value for the company for much longer than that (even when I hire senior developers I assume they aren't net positive for 6 months).



            Everything you mentioned in your question are actually good signs - it sounds like they are making interesting and non-trivial software, meaning there are many opportunities for you to learn, and it means that they are invested in you - by giving you the time and space to get up to speed.



            Writing unit and integration tests are a fairly common way to onboard new junior employees. You will learn the IDE, source control system, build process, and all the various formal and informal workflows of how they develop software, while focusing on relatively bite-size chunks of work. You also get to learn a lot about the business functionality their software provides.




            1 - Is it normal?




            Yes. You are not an impostor, and there is no reason to think going into this field was a bad idea. In fact, from the fact that they hired you, and want to invest in you, it seems like it was a good idea. The most important thing is to get over the naive belief that just because you were "arguably the best" in your boot camp, that meant you were prepared to walk into a development shop day one and start producing value. The boot camp provided you with the basic foundation of programming - there is a lot, lot, lot more to being a professional developer, which you can only learn on the job.




            2 - What can I do better?




            I think there are two "scopes" to this. The first is stuff you can do on your own. Invest your own time in learning the language you are programming in - the fine points, the advanced features, etc. Even if your boot camp was in the same language you are now working on, there is a lot to learn (I've been programming in the same primary language for >10 years and am still learning new things every day). If any of the other tools they use are publically/freely available (the IDE, the source control tool) practice with those too. Also, send time learning about the basics of computer science (algorithms, data structures). Even if you aren't using that knowledge right away, it will always come in helpful.



            The second, while not specifically related to the testing you are doing, can be done as part of that work. That is to develop the ability to "analyze" a piece of code. Take the simplest test you can find, testing the simplest piece of code, and try to work out the control flow of that piece of code. Run it through a debugger, stopping on every line, and see what it is actually doing. Modify the test slightly and see how it behaves differently. Try and come up with a test that will test a different if-branch (etc.). Use your IDE source control tool and look at the most recent commit which changed that code. See if you can understand what that change did (especially useful if you can link back to the ticket which documented that change). Move to a slightly more complex test and repeat. Now, take the piece of code they want you to test, and conduct that analysis beforehand. Use that to write your first test.



            If you need help, ask the author of the test or code you are looking to provide you an overview.




            3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?




            No one is born knowing how to code. Therefore your colleagues and managers all started at a similar place as you did. As long as they aren't jerks (and you already said they aren't), they know and expect you to ask them for help.



            Of course, you'll need to find the right balance between asking too many questions, and not asking for help early enough. I've often told my juniors "don't waste 3 hours trying to figure out something I can help you with in 5 minutes". Conversely, don't waste my 5 minutes if you haven't spent some time trying to figure it out on your own.



            If you don't already have one scheduled, ask your manager for a weekly 30 minute meeting. To quote another answer I've written here:




            your manager's job [is] to do his/her best to give you the opportunities to succeed - this can only happen if you two have regular and frequent conversations, and if during those conversations you are open and honest about where you are having difficulties, where you need support, where you are getting stuck, and where you learn what he/she is expecting from you.




            One of the most important things to ask is "where should I start" and "who should I bother for help"



            Good luck!






            share|improve this answer














            After two weeks, I can say with confidence that I clearly didn't create value for this company and the other developers that helped me could have done my job instead of spending time with me.




            You will not create "net positive" value for the company for much longer than that (even when I hire senior developers I assume they aren't net positive for 6 months).



            Everything you mentioned in your question are actually good signs - it sounds like they are making interesting and non-trivial software, meaning there are many opportunities for you to learn, and it means that they are invested in you - by giving you the time and space to get up to speed.



            Writing unit and integration tests are a fairly common way to onboard new junior employees. You will learn the IDE, source control system, build process, and all the various formal and informal workflows of how they develop software, while focusing on relatively bite-size chunks of work. You also get to learn a lot about the business functionality their software provides.




            1 - Is it normal?




            Yes. You are not an impostor, and there is no reason to think going into this field was a bad idea. In fact, from the fact that they hired you, and want to invest in you, it seems like it was a good idea. The most important thing is to get over the naive belief that just because you were "arguably the best" in your boot camp, that meant you were prepared to walk into a development shop day one and start producing value. The boot camp provided you with the basic foundation of programming - there is a lot, lot, lot more to being a professional developer, which you can only learn on the job.




            2 - What can I do better?




            I think there are two "scopes" to this. The first is stuff you can do on your own. Invest your own time in learning the language you are programming in - the fine points, the advanced features, etc. Even if your boot camp was in the same language you are now working on, there is a lot to learn (I've been programming in the same primary language for >10 years and am still learning new things every day). If any of the other tools they use are publically/freely available (the IDE, the source control tool) practice with those too. Also, send time learning about the basics of computer science (algorithms, data structures). Even if you aren't using that knowledge right away, it will always come in helpful.



            The second, while not specifically related to the testing you are doing, can be done as part of that work. That is to develop the ability to "analyze" a piece of code. Take the simplest test you can find, testing the simplest piece of code, and try to work out the control flow of that piece of code. Run it through a debugger, stopping on every line, and see what it is actually doing. Modify the test slightly and see how it behaves differently. Try and come up with a test that will test a different if-branch (etc.). Use your IDE source control tool and look at the most recent commit which changed that code. See if you can understand what that change did (especially useful if you can link back to the ticket which documented that change). Move to a slightly more complex test and repeat. Now, take the piece of code they want you to test, and conduct that analysis beforehand. Use that to write your first test.



            If you need help, ask the author of the test or code you are looking to provide you an overview.




            3 - How could I express this (or part of it) to the management and colleagues without coming across as a fraud?




            No one is born knowing how to code. Therefore your colleagues and managers all started at a similar place as you did. As long as they aren't jerks (and you already said they aren't), they know and expect you to ask them for help.



            Of course, you'll need to find the right balance between asking too many questions, and not asking for help early enough. I've often told my juniors "don't waste 3 hours trying to figure out something I can help you with in 5 minutes". Conversely, don't waste my 5 minutes if you haven't spent some time trying to figure it out on your own.



            If you don't already have one scheduled, ask your manager for a weekly 30 minute meeting. To quote another answer I've written here:




            your manager's job [is] to do his/her best to give you the opportunities to succeed - this can only happen if you two have regular and frequent conversations, and if during those conversations you are open and honest about where you are having difficulties, where you need support, where you are getting stuck, and where you learn what he/she is expecting from you.




            One of the most important things to ask is "where should I start" and "who should I bother for help"



            Good luck!







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 6 hours ago









            dan.m was user2321368dan.m was user2321368

            1,38229




            1,38229

























                6















                I worked there only 2 weeks




                You need to give it a lot more than just 2 weeks.




                • Everyone feels a bit overwhelmed when they initially start a programming job.

                • Your first few weeks/months will involve unlearning lots of things you were taught in school/bootcamp and learning how real software work is done.

                • Nobody understands all the code at first glance. Sometimes existing code is poorly commented and indecipherable to everyone except the original author.


                Take things gradually. You'll almost certainly find that each week is a bit more comfortable than the last.



                Take advantage of the nice and friendly culture. Ask for help when you need it.



                And don't be so hard on yourself. If you learned programming on your own, then went on to be brilliant at bootcamp, you'll most likely be fine with a bit more patience and hard work.






                share|improve this answer




























                  6















                  I worked there only 2 weeks




                  You need to give it a lot more than just 2 weeks.




                  • Everyone feels a bit overwhelmed when they initially start a programming job.

                  • Your first few weeks/months will involve unlearning lots of things you were taught in school/bootcamp and learning how real software work is done.

                  • Nobody understands all the code at first glance. Sometimes existing code is poorly commented and indecipherable to everyone except the original author.


                  Take things gradually. You'll almost certainly find that each week is a bit more comfortable than the last.



                  Take advantage of the nice and friendly culture. Ask for help when you need it.



                  And don't be so hard on yourself. If you learned programming on your own, then went on to be brilliant at bootcamp, you'll most likely be fine with a bit more patience and hard work.






                  share|improve this answer


























                    6












                    6








                    6








                    I worked there only 2 weeks




                    You need to give it a lot more than just 2 weeks.




                    • Everyone feels a bit overwhelmed when they initially start a programming job.

                    • Your first few weeks/months will involve unlearning lots of things you were taught in school/bootcamp and learning how real software work is done.

                    • Nobody understands all the code at first glance. Sometimes existing code is poorly commented and indecipherable to everyone except the original author.


                    Take things gradually. You'll almost certainly find that each week is a bit more comfortable than the last.



                    Take advantage of the nice and friendly culture. Ask for help when you need it.



                    And don't be so hard on yourself. If you learned programming on your own, then went on to be brilliant at bootcamp, you'll most likely be fine with a bit more patience and hard work.






                    share|improve this answer














                    I worked there only 2 weeks




                    You need to give it a lot more than just 2 weeks.




                    • Everyone feels a bit overwhelmed when they initially start a programming job.

                    • Your first few weeks/months will involve unlearning lots of things you were taught in school/bootcamp and learning how real software work is done.

                    • Nobody understands all the code at first glance. Sometimes existing code is poorly commented and indecipherable to everyone except the original author.


                    Take things gradually. You'll almost certainly find that each week is a bit more comfortable than the last.



                    Take advantage of the nice and friendly culture. Ask for help when you need it.



                    And don't be so hard on yourself. If you learned programming on your own, then went on to be brilliant at bootcamp, you'll most likely be fine with a bit more patience and hard work.







                    share|improve this answer












                    share|improve this answer



                    share|improve this answer










                    answered 6 hours ago









                    Joe StrazzereJoe Strazzere

                    257k1337511062




                    257k1337511062























                        5














                        Welcome to the Jungle. :)



                        Yes. It's normal. You're a junior. It's expected that you will not have a clue, and that's why they're having you do what you're doing.



                        Ask questions. Get the understanding. Ask what you can read on your own time to help you develop an understanding. Be willing to work hard even by spending a few hours outside of work. I'd be concerned about a junior developer that DID NOT ask questions. I'd be willing to bet that any of your coworkers who are seniors started just as you have.



                        Ask questions, and learn. In time you won't have to ask questions. It will just click and you'll get it.






                        share|improve this answer




























                          5














                          Welcome to the Jungle. :)



                          Yes. It's normal. You're a junior. It's expected that you will not have a clue, and that's why they're having you do what you're doing.



                          Ask questions. Get the understanding. Ask what you can read on your own time to help you develop an understanding. Be willing to work hard even by spending a few hours outside of work. I'd be concerned about a junior developer that DID NOT ask questions. I'd be willing to bet that any of your coworkers who are seniors started just as you have.



                          Ask questions, and learn. In time you won't have to ask questions. It will just click and you'll get it.






                          share|improve this answer


























                            5












                            5








                            5







                            Welcome to the Jungle. :)



                            Yes. It's normal. You're a junior. It's expected that you will not have a clue, and that's why they're having you do what you're doing.



                            Ask questions. Get the understanding. Ask what you can read on your own time to help you develop an understanding. Be willing to work hard even by spending a few hours outside of work. I'd be concerned about a junior developer that DID NOT ask questions. I'd be willing to bet that any of your coworkers who are seniors started just as you have.



                            Ask questions, and learn. In time you won't have to ask questions. It will just click and you'll get it.






                            share|improve this answer













                            Welcome to the Jungle. :)



                            Yes. It's normal. You're a junior. It's expected that you will not have a clue, and that's why they're having you do what you're doing.



                            Ask questions. Get the understanding. Ask what you can read on your own time to help you develop an understanding. Be willing to work hard even by spending a few hours outside of work. I'd be concerned about a junior developer that DID NOT ask questions. I'd be willing to bet that any of your coworkers who are seniors started just as you have.



                            Ask questions, and learn. In time you won't have to ask questions. It will just click and you'll get it.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered 6 hours ago









                            KeithKeith

                            4,5054823




                            4,5054823






















                                Michel12 is a new contributor. Be nice, and check out our Code of Conduct.










                                draft saved

                                draft discarded


















                                Michel12 is a new contributor. Be nice, and check out our Code of Conduct.













                                Michel12 is a new contributor. Be nice, and check out our Code of Conduct.












                                Michel12 is a new contributor. Be nice, and check out our Code of Conduct.
















                                Thanks for contributing an answer to The Workplace Stack Exchange!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid



                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f135745%2fjunior-developer-struggles-how-to-communicate-with-management%23new-answer', 'question_page');
                                }
                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown











                                Popular posts from this blog

                                Why does my Macbook overheat and use so much CPU and energy when on YouTube?Why do so many insist on using...

                                How to prevent page numbers from appearing on glossaries?How to remove a dot and a page number in the...

                                Puerta de Hutt Referencias Enlaces externos Menú de navegación15°58′00″S 5°42′00″O /...