How should a junior dev handle critical decisions as a sole developer on a large project?
I am a 2 year experienced web developer, I mainly worked on backend stuff (API,java logic , etc etc), and I work as a consultant.
Since 2 months I was sent to a company to work on their front-end using some framework that I'm not a complete newbie at, but basically not an expert.
Project is large, but I estimate my code is at 'junior' level.
Here comes the problem, as long as I am the only front-end dev in this group, all critical decision on this project are deferred to me (choosing a pattern of code, instantiate new libraries or importing some code from external resource or so on).
As I said before, code is not difficult, but I feel that these kind of decision are too important to be deferred to a junior of this framework, due to the software is very big and handle sensitive data of a big company.
Note that I already talked to my boss, and he basically told me "just work as you want and as you wish, but the project must be ready at date XXX"
My fear is that I can product code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience, and as a consultant, I'll leave a bad reputation beside me.
How do I handle this situation? What should I do?
software-industry consulting
|
show 3 more comments
I am a 2 year experienced web developer, I mainly worked on backend stuff (API,java logic , etc etc), and I work as a consultant.
Since 2 months I was sent to a company to work on their front-end using some framework that I'm not a complete newbie at, but basically not an expert.
Project is large, but I estimate my code is at 'junior' level.
Here comes the problem, as long as I am the only front-end dev in this group, all critical decision on this project are deferred to me (choosing a pattern of code, instantiate new libraries or importing some code from external resource or so on).
As I said before, code is not difficult, but I feel that these kind of decision are too important to be deferred to a junior of this framework, due to the software is very big and handle sensitive data of a big company.
Note that I already talked to my boss, and he basically told me "just work as you want and as you wish, but the project must be ready at date XXX"
My fear is that I can product code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience, and as a consultant, I'll leave a bad reputation beside me.
How do I handle this situation? What should I do?
software-industry consulting
Having you tried telling them you don't feel comfortable making those decisions?
– SaggingRufus
Sep 5 '17 at 10:27
as a wrote in the question, this was the response : just work as you want and as you wish, but the project must be ready at date XXX
– Anon
Sep 5 '17 at 10:34
Ask if there are some senior in your company that you can get some advices too. I have personnaly tryed once to make someone more expert to check all my decision, but ofc that never happened.
– Walfrat
Sep 5 '17 at 10:46
I'm not sure why you think decisions regarding front-end frameworks/libraries are that important? Obviously if you're the only front-end dev in the group, you're going to be maintaining it, and you might as well pick something you're comfortable with
– Daniel
Sep 5 '17 at 10:48
@Daniel that would be true if i was not a consultant, with all the probability, i'll leave this client in 2 months
– Anon
Sep 5 '17 at 10:49
|
show 3 more comments
I am a 2 year experienced web developer, I mainly worked on backend stuff (API,java logic , etc etc), and I work as a consultant.
Since 2 months I was sent to a company to work on their front-end using some framework that I'm not a complete newbie at, but basically not an expert.
Project is large, but I estimate my code is at 'junior' level.
Here comes the problem, as long as I am the only front-end dev in this group, all critical decision on this project are deferred to me (choosing a pattern of code, instantiate new libraries or importing some code from external resource or so on).
As I said before, code is not difficult, but I feel that these kind of decision are too important to be deferred to a junior of this framework, due to the software is very big and handle sensitive data of a big company.
Note that I already talked to my boss, and he basically told me "just work as you want and as you wish, but the project must be ready at date XXX"
My fear is that I can product code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience, and as a consultant, I'll leave a bad reputation beside me.
How do I handle this situation? What should I do?
software-industry consulting
I am a 2 year experienced web developer, I mainly worked on backend stuff (API,java logic , etc etc), and I work as a consultant.
Since 2 months I was sent to a company to work on their front-end using some framework that I'm not a complete newbie at, but basically not an expert.
Project is large, but I estimate my code is at 'junior' level.
Here comes the problem, as long as I am the only front-end dev in this group, all critical decision on this project are deferred to me (choosing a pattern of code, instantiate new libraries or importing some code from external resource or so on).
As I said before, code is not difficult, but I feel that these kind of decision are too important to be deferred to a junior of this framework, due to the software is very big and handle sensitive data of a big company.
Note that I already talked to my boss, and he basically told me "just work as you want and as you wish, but the project must be ready at date XXX"
My fear is that I can product code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience, and as a consultant, I'll leave a bad reputation beside me.
How do I handle this situation? What should I do?
software-industry consulting
software-industry consulting
edited Sep 5 '17 at 12:03
Anon
asked Sep 5 '17 at 10:17
AnonAnon
3,06281526
3,06281526
Having you tried telling them you don't feel comfortable making those decisions?
– SaggingRufus
Sep 5 '17 at 10:27
as a wrote in the question, this was the response : just work as you want and as you wish, but the project must be ready at date XXX
– Anon
Sep 5 '17 at 10:34
Ask if there are some senior in your company that you can get some advices too. I have personnaly tryed once to make someone more expert to check all my decision, but ofc that never happened.
– Walfrat
Sep 5 '17 at 10:46
I'm not sure why you think decisions regarding front-end frameworks/libraries are that important? Obviously if you're the only front-end dev in the group, you're going to be maintaining it, and you might as well pick something you're comfortable with
– Daniel
Sep 5 '17 at 10:48
@Daniel that would be true if i was not a consultant, with all the probability, i'll leave this client in 2 months
– Anon
Sep 5 '17 at 10:49
|
show 3 more comments
Having you tried telling them you don't feel comfortable making those decisions?
– SaggingRufus
Sep 5 '17 at 10:27
as a wrote in the question, this was the response : just work as you want and as you wish, but the project must be ready at date XXX
– Anon
Sep 5 '17 at 10:34
Ask if there are some senior in your company that you can get some advices too. I have personnaly tryed once to make someone more expert to check all my decision, but ofc that never happened.
– Walfrat
Sep 5 '17 at 10:46
I'm not sure why you think decisions regarding front-end frameworks/libraries are that important? Obviously if you're the only front-end dev in the group, you're going to be maintaining it, and you might as well pick something you're comfortable with
– Daniel
Sep 5 '17 at 10:48
@Daniel that would be true if i was not a consultant, with all the probability, i'll leave this client in 2 months
– Anon
Sep 5 '17 at 10:49
Having you tried telling them you don't feel comfortable making those decisions?
– SaggingRufus
Sep 5 '17 at 10:27
Having you tried telling them you don't feel comfortable making those decisions?
– SaggingRufus
Sep 5 '17 at 10:27
as a wrote in the question, this was the response : just work as you want and as you wish, but the project must be ready at date XXX
– Anon
Sep 5 '17 at 10:34
as a wrote in the question, this was the response : just work as you want and as you wish, but the project must be ready at date XXX
– Anon
Sep 5 '17 at 10:34
Ask if there are some senior in your company that you can get some advices too. I have personnaly tryed once to make someone more expert to check all my decision, but ofc that never happened.
– Walfrat
Sep 5 '17 at 10:46
Ask if there are some senior in your company that you can get some advices too. I have personnaly tryed once to make someone more expert to check all my decision, but ofc that never happened.
– Walfrat
Sep 5 '17 at 10:46
I'm not sure why you think decisions regarding front-end frameworks/libraries are that important? Obviously if you're the only front-end dev in the group, you're going to be maintaining it, and you might as well pick something you're comfortable with
– Daniel
Sep 5 '17 at 10:48
I'm not sure why you think decisions regarding front-end frameworks/libraries are that important? Obviously if you're the only front-end dev in the group, you're going to be maintaining it, and you might as well pick something you're comfortable with
– Daniel
Sep 5 '17 at 10:48
@Daniel that would be true if i was not a consultant, with all the probability, i'll leave this client in 2 months
– Anon
Sep 5 '17 at 10:49
@Daniel that would be true if i was not a consultant, with all the probability, i'll leave this client in 2 months
– Anon
Sep 5 '17 at 10:49
|
show 3 more comments
4 Answers
4
active
oldest
votes
You're not a Junior any more - you're a Senior.
Congratulations on your promotion!
If it hasn't been already, chop the project tasks up into bite sized chunks of work. Analyse each one and assess whether you understand enough to completely it, how long it'll take you. Take those time estimates and add at least 50%.
If those estimates don't fit into the timescale requested, then you need to raise this as a risk - either you need help, or something needs to be dropped from the project.
You also need to raise a risk for every task that you're not sure about. You'll get more points for forward thinking and being honest than hiding everything and failing at the end.
If you need help, then build a sound business reason and ask for that help.
Use this as a great learning experience, not many juniors get this opportunity.
i don't think i had a promotion, since my pay hasn't change much and no one noticed me ... now serious, as long as i think is a great learning experience, i don't want to burn bridges for poor work, and i'm pretty sure that when i'll finish this update to software i'll change client, so i have no time to study the software as you suggested
– Anon
Sep 5 '17 at 11:59
2
@Anon, then you haven't been given adequate time to complete the project. You need to raise this as a risk and have an honest conversation with the client about either extending the timeline, decreasing the scope, or getting help. You can't do what is not possible.
– Seth R
Sep 5 '17 at 15:14
add a comment |
As the only front-end developer, you may be the closest thing to an expert. Expertise is relative, so even if you feel you don't know that much, you may need to own the solution. Consultants are expected to be able to solve problems and this may be your opportunity to shine.
Do your best with the skills and knowledge you have. Do some research about the framework and best practices for using it. If the framework is used much at all, there should be plenty of research you can do on the internet, either from the vendor, a working group or some site like StackOverflow.
Make sure you document your research and how you arrived at the decisions you needed to make. Share this documentation with your technical and/or administrative supervisor so that they know what you have done and can manage the risk.
If after the research, you believe there is a schedule risk, let them know now before the situation gets worse. Use the research you have done to provide a timeline you can make and leave it to them to then manage the project timelines at a higher level.
add a comment |
You will have to go through bad designs to achieve good ones. This is a key point in this problem that you have to live with.
Now: Is "bad" code going to burn bridges? Unlikely. Never seen that happen ever. Worse case, you'll be asked for the reason of doing this, and you can justify.
In the programming business, we all understand constraints and motives for some bad code. One thing that you'll learn in the future is:
The perfect code doesn't exist.
Code loses quality over time, and history of programmers can be seen in the code, and keeps getting worse until the cost of maintaining a program becomes higher than writing a new one, which is when people do that.
How can you help make best decisions? If you're really concerned to make your code the best (assuming that won't affect the time limits, which it will, but anyway). The answer is simple. Look at examples online and discussions about the issue... LOTS of them! Try to follow the consensus on many forums.
add a comment |
My fear is that I can [produce] code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience[.]
Yes, you will write bugs. You will fix the bugs you find. I am sure you have experienced this already.
You can mitigate this risk by building an automated test suite. It does not need to be a sophisticated 100%-coverage test suite. It just needs to be able to catch the bugs you have already found, so that you know that you didn't slip up and make the same mistake again. If it covers the standard happy paths as well, it will save you some embarrassment.
If you are comfortable with a UI-level test harness like Selenium or Microsoft's Coded UI Tests, great. But you can get decent test coverage one layer down in your system, by testing that your model produces reasonable outputs given the sorts of inputs that you expect the UI to feed it.
New contributor
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f98367%2fhow-should-a-junior-dev-handle-critical-decisions-as-a-sole-developer-on-a-large%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();
}
}
});
});
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
You're not a Junior any more - you're a Senior.
Congratulations on your promotion!
If it hasn't been already, chop the project tasks up into bite sized chunks of work. Analyse each one and assess whether you understand enough to completely it, how long it'll take you. Take those time estimates and add at least 50%.
If those estimates don't fit into the timescale requested, then you need to raise this as a risk - either you need help, or something needs to be dropped from the project.
You also need to raise a risk for every task that you're not sure about. You'll get more points for forward thinking and being honest than hiding everything and failing at the end.
If you need help, then build a sound business reason and ask for that help.
Use this as a great learning experience, not many juniors get this opportunity.
i don't think i had a promotion, since my pay hasn't change much and no one noticed me ... now serious, as long as i think is a great learning experience, i don't want to burn bridges for poor work, and i'm pretty sure that when i'll finish this update to software i'll change client, so i have no time to study the software as you suggested
– Anon
Sep 5 '17 at 11:59
2
@Anon, then you haven't been given adequate time to complete the project. You need to raise this as a risk and have an honest conversation with the client about either extending the timeline, decreasing the scope, or getting help. You can't do what is not possible.
– Seth R
Sep 5 '17 at 15:14
add a comment |
You're not a Junior any more - you're a Senior.
Congratulations on your promotion!
If it hasn't been already, chop the project tasks up into bite sized chunks of work. Analyse each one and assess whether you understand enough to completely it, how long it'll take you. Take those time estimates and add at least 50%.
If those estimates don't fit into the timescale requested, then you need to raise this as a risk - either you need help, or something needs to be dropped from the project.
You also need to raise a risk for every task that you're not sure about. You'll get more points for forward thinking and being honest than hiding everything and failing at the end.
If you need help, then build a sound business reason and ask for that help.
Use this as a great learning experience, not many juniors get this opportunity.
i don't think i had a promotion, since my pay hasn't change much and no one noticed me ... now serious, as long as i think is a great learning experience, i don't want to burn bridges for poor work, and i'm pretty sure that when i'll finish this update to software i'll change client, so i have no time to study the software as you suggested
– Anon
Sep 5 '17 at 11:59
2
@Anon, then you haven't been given adequate time to complete the project. You need to raise this as a risk and have an honest conversation with the client about either extending the timeline, decreasing the scope, or getting help. You can't do what is not possible.
– Seth R
Sep 5 '17 at 15:14
add a comment |
You're not a Junior any more - you're a Senior.
Congratulations on your promotion!
If it hasn't been already, chop the project tasks up into bite sized chunks of work. Analyse each one and assess whether you understand enough to completely it, how long it'll take you. Take those time estimates and add at least 50%.
If those estimates don't fit into the timescale requested, then you need to raise this as a risk - either you need help, or something needs to be dropped from the project.
You also need to raise a risk for every task that you're not sure about. You'll get more points for forward thinking and being honest than hiding everything and failing at the end.
If you need help, then build a sound business reason and ask for that help.
Use this as a great learning experience, not many juniors get this opportunity.
You're not a Junior any more - you're a Senior.
Congratulations on your promotion!
If it hasn't been already, chop the project tasks up into bite sized chunks of work. Analyse each one and assess whether you understand enough to completely it, how long it'll take you. Take those time estimates and add at least 50%.
If those estimates don't fit into the timescale requested, then you need to raise this as a risk - either you need help, or something needs to be dropped from the project.
You also need to raise a risk for every task that you're not sure about. You'll get more points for forward thinking and being honest than hiding everything and failing at the end.
If you need help, then build a sound business reason and ask for that help.
Use this as a great learning experience, not many juniors get this opportunity.
answered Sep 5 '17 at 10:50
Snow♦Snow
63.2k52207252
63.2k52207252
i don't think i had a promotion, since my pay hasn't change much and no one noticed me ... now serious, as long as i think is a great learning experience, i don't want to burn bridges for poor work, and i'm pretty sure that when i'll finish this update to software i'll change client, so i have no time to study the software as you suggested
– Anon
Sep 5 '17 at 11:59
2
@Anon, then you haven't been given adequate time to complete the project. You need to raise this as a risk and have an honest conversation with the client about either extending the timeline, decreasing the scope, or getting help. You can't do what is not possible.
– Seth R
Sep 5 '17 at 15:14
add a comment |
i don't think i had a promotion, since my pay hasn't change much and no one noticed me ... now serious, as long as i think is a great learning experience, i don't want to burn bridges for poor work, and i'm pretty sure that when i'll finish this update to software i'll change client, so i have no time to study the software as you suggested
– Anon
Sep 5 '17 at 11:59
2
@Anon, then you haven't been given adequate time to complete the project. You need to raise this as a risk and have an honest conversation with the client about either extending the timeline, decreasing the scope, or getting help. You can't do what is not possible.
– Seth R
Sep 5 '17 at 15:14
i don't think i had a promotion, since my pay hasn't change much and no one noticed me ... now serious, as long as i think is a great learning experience, i don't want to burn bridges for poor work, and i'm pretty sure that when i'll finish this update to software i'll change client, so i have no time to study the software as you suggested
– Anon
Sep 5 '17 at 11:59
i don't think i had a promotion, since my pay hasn't change much and no one noticed me ... now serious, as long as i think is a great learning experience, i don't want to burn bridges for poor work, and i'm pretty sure that when i'll finish this update to software i'll change client, so i have no time to study the software as you suggested
– Anon
Sep 5 '17 at 11:59
2
2
@Anon, then you haven't been given adequate time to complete the project. You need to raise this as a risk and have an honest conversation with the client about either extending the timeline, decreasing the scope, or getting help. You can't do what is not possible.
– Seth R
Sep 5 '17 at 15:14
@Anon, then you haven't been given adequate time to complete the project. You need to raise this as a risk and have an honest conversation with the client about either extending the timeline, decreasing the scope, or getting help. You can't do what is not possible.
– Seth R
Sep 5 '17 at 15:14
add a comment |
As the only front-end developer, you may be the closest thing to an expert. Expertise is relative, so even if you feel you don't know that much, you may need to own the solution. Consultants are expected to be able to solve problems and this may be your opportunity to shine.
Do your best with the skills and knowledge you have. Do some research about the framework and best practices for using it. If the framework is used much at all, there should be plenty of research you can do on the internet, either from the vendor, a working group or some site like StackOverflow.
Make sure you document your research and how you arrived at the decisions you needed to make. Share this documentation with your technical and/or administrative supervisor so that they know what you have done and can manage the risk.
If after the research, you believe there is a schedule risk, let them know now before the situation gets worse. Use the research you have done to provide a timeline you can make and leave it to them to then manage the project timelines at a higher level.
add a comment |
As the only front-end developer, you may be the closest thing to an expert. Expertise is relative, so even if you feel you don't know that much, you may need to own the solution. Consultants are expected to be able to solve problems and this may be your opportunity to shine.
Do your best with the skills and knowledge you have. Do some research about the framework and best practices for using it. If the framework is used much at all, there should be plenty of research you can do on the internet, either from the vendor, a working group or some site like StackOverflow.
Make sure you document your research and how you arrived at the decisions you needed to make. Share this documentation with your technical and/or administrative supervisor so that they know what you have done and can manage the risk.
If after the research, you believe there is a schedule risk, let them know now before the situation gets worse. Use the research you have done to provide a timeline you can make and leave it to them to then manage the project timelines at a higher level.
add a comment |
As the only front-end developer, you may be the closest thing to an expert. Expertise is relative, so even if you feel you don't know that much, you may need to own the solution. Consultants are expected to be able to solve problems and this may be your opportunity to shine.
Do your best with the skills and knowledge you have. Do some research about the framework and best practices for using it. If the framework is used much at all, there should be plenty of research you can do on the internet, either from the vendor, a working group or some site like StackOverflow.
Make sure you document your research and how you arrived at the decisions you needed to make. Share this documentation with your technical and/or administrative supervisor so that they know what you have done and can manage the risk.
If after the research, you believe there is a schedule risk, let them know now before the situation gets worse. Use the research you have done to provide a timeline you can make and leave it to them to then manage the project timelines at a higher level.
As the only front-end developer, you may be the closest thing to an expert. Expertise is relative, so even if you feel you don't know that much, you may need to own the solution. Consultants are expected to be able to solve problems and this may be your opportunity to shine.
Do your best with the skills and knowledge you have. Do some research about the framework and best practices for using it. If the framework is used much at all, there should be plenty of research you can do on the internet, either from the vendor, a working group or some site like StackOverflow.
Make sure you document your research and how you arrived at the decisions you needed to make. Share this documentation with your technical and/or administrative supervisor so that they know what you have done and can manage the risk.
If after the research, you believe there is a schedule risk, let them know now before the situation gets worse. Use the research you have done to provide a timeline you can make and leave it to them to then manage the project timelines at a higher level.
answered Sep 5 '17 at 15:26
cdkMoosecdkMoose
11.5k32650
11.5k32650
add a comment |
add a comment |
You will have to go through bad designs to achieve good ones. This is a key point in this problem that you have to live with.
Now: Is "bad" code going to burn bridges? Unlikely. Never seen that happen ever. Worse case, you'll be asked for the reason of doing this, and you can justify.
In the programming business, we all understand constraints and motives for some bad code. One thing that you'll learn in the future is:
The perfect code doesn't exist.
Code loses quality over time, and history of programmers can be seen in the code, and keeps getting worse until the cost of maintaining a program becomes higher than writing a new one, which is when people do that.
How can you help make best decisions? If you're really concerned to make your code the best (assuming that won't affect the time limits, which it will, but anyway). The answer is simple. Look at examples online and discussions about the issue... LOTS of them! Try to follow the consensus on many forums.
add a comment |
You will have to go through bad designs to achieve good ones. This is a key point in this problem that you have to live with.
Now: Is "bad" code going to burn bridges? Unlikely. Never seen that happen ever. Worse case, you'll be asked for the reason of doing this, and you can justify.
In the programming business, we all understand constraints and motives for some bad code. One thing that you'll learn in the future is:
The perfect code doesn't exist.
Code loses quality over time, and history of programmers can be seen in the code, and keeps getting worse until the cost of maintaining a program becomes higher than writing a new one, which is when people do that.
How can you help make best decisions? If you're really concerned to make your code the best (assuming that won't affect the time limits, which it will, but anyway). The answer is simple. Look at examples online and discussions about the issue... LOTS of them! Try to follow the consensus on many forums.
add a comment |
You will have to go through bad designs to achieve good ones. This is a key point in this problem that you have to live with.
Now: Is "bad" code going to burn bridges? Unlikely. Never seen that happen ever. Worse case, you'll be asked for the reason of doing this, and you can justify.
In the programming business, we all understand constraints and motives for some bad code. One thing that you'll learn in the future is:
The perfect code doesn't exist.
Code loses quality over time, and history of programmers can be seen in the code, and keeps getting worse until the cost of maintaining a program becomes higher than writing a new one, which is when people do that.
How can you help make best decisions? If you're really concerned to make your code the best (assuming that won't affect the time limits, which it will, but anyway). The answer is simple. Look at examples online and discussions about the issue... LOTS of them! Try to follow the consensus on many forums.
You will have to go through bad designs to achieve good ones. This is a key point in this problem that you have to live with.
Now: Is "bad" code going to burn bridges? Unlikely. Never seen that happen ever. Worse case, you'll be asked for the reason of doing this, and you can justify.
In the programming business, we all understand constraints and motives for some bad code. One thing that you'll learn in the future is:
The perfect code doesn't exist.
Code loses quality over time, and history of programmers can be seen in the code, and keeps getting worse until the cost of maintaining a program becomes higher than writing a new one, which is when people do that.
How can you help make best decisions? If you're really concerned to make your code the best (assuming that won't affect the time limits, which it will, but anyway). The answer is simple. Look at examples online and discussions about the issue... LOTS of them! Try to follow the consensus on many forums.
answered Sep 5 '17 at 15:39
The Quantum PhysicistThe Quantum Physicist
2,4194921
2,4194921
add a comment |
add a comment |
My fear is that I can [produce] code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience[.]
Yes, you will write bugs. You will fix the bugs you find. I am sure you have experienced this already.
You can mitigate this risk by building an automated test suite. It does not need to be a sophisticated 100%-coverage test suite. It just needs to be able to catch the bugs you have already found, so that you know that you didn't slip up and make the same mistake again. If it covers the standard happy paths as well, it will save you some embarrassment.
If you are comfortable with a UI-level test harness like Selenium or Microsoft's Coded UI Tests, great. But you can get decent test coverage one layer down in your system, by testing that your model produces reasonable outputs given the sorts of inputs that you expect the UI to feed it.
New contributor
add a comment |
My fear is that I can [produce] code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience[.]
Yes, you will write bugs. You will fix the bugs you find. I am sure you have experienced this already.
You can mitigate this risk by building an automated test suite. It does not need to be a sophisticated 100%-coverage test suite. It just needs to be able to catch the bugs you have already found, so that you know that you didn't slip up and make the same mistake again. If it covers the standard happy paths as well, it will save you some embarrassment.
If you are comfortable with a UI-level test harness like Selenium or Microsoft's Coded UI Tests, great. But you can get decent test coverage one layer down in your system, by testing that your model produces reasonable outputs given the sorts of inputs that you expect the UI to feed it.
New contributor
add a comment |
My fear is that I can [produce] code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience[.]
Yes, you will write bugs. You will fix the bugs you find. I am sure you have experienced this already.
You can mitigate this risk by building an automated test suite. It does not need to be a sophisticated 100%-coverage test suite. It just needs to be able to catch the bugs you have already found, so that you know that you didn't slip up and make the same mistake again. If it covers the standard happy paths as well, it will save you some embarrassment.
If you are comfortable with a UI-level test harness like Selenium or Microsoft's Coded UI Tests, great. But you can get decent test coverage one layer down in your system, by testing that your model produces reasonable outputs given the sorts of inputs that you expect the UI to feed it.
New contributor
My fear is that I can [produce] code that works NOW, but TOMORROW will have bugs or so on due to my lack of experience[.]
Yes, you will write bugs. You will fix the bugs you find. I am sure you have experienced this already.
You can mitigate this risk by building an automated test suite. It does not need to be a sophisticated 100%-coverage test suite. It just needs to be able to catch the bugs you have already found, so that you know that you didn't slip up and make the same mistake again. If it covers the standard happy paths as well, it will save you some embarrassment.
If you are comfortable with a UI-level test harness like Selenium or Microsoft's Coded UI Tests, great. But you can get decent test coverage one layer down in your system, by testing that your model produces reasonable outputs given the sorts of inputs that you expect the UI to feed it.
New contributor
New contributor
answered 43 mins ago
JasperJasper
1033
1033
New contributor
New contributor
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f98367%2fhow-should-a-junior-dev-handle-critical-decisions-as-a-sole-developer-on-a-large%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
Having you tried telling them you don't feel comfortable making those decisions?
– SaggingRufus
Sep 5 '17 at 10:27
as a wrote in the question, this was the response : just work as you want and as you wish, but the project must be ready at date XXX
– Anon
Sep 5 '17 at 10:34
Ask if there are some senior in your company that you can get some advices too. I have personnaly tryed once to make someone more expert to check all my decision, but ofc that never happened.
– Walfrat
Sep 5 '17 at 10:46
I'm not sure why you think decisions regarding front-end frameworks/libraries are that important? Obviously if you're the only front-end dev in the group, you're going to be maintaining it, and you might as well pick something you're comfortable with
– Daniel
Sep 5 '17 at 10:48
@Daniel that would be true if i was not a consultant, with all the probability, i'll leave this client in 2 months
– Anon
Sep 5 '17 at 10:49