The Student Room Group

Do they give you code examples when you start working as a dev?

Let's say if I get a job as a c sharp developer as I've got an interview coming up.

I was told they do not put you in the deep end, you will shadow someone first and they may ask you to do a small project.

When you actually start coding, do they give you code templates? Which they already built the same stuff before?

What actually happens when you work as a developer? Do they email you a document stating what you need to accomplish and give you some code to help/comments?

I've read an article where they give you code snippets.
(edited 4 years ago)
You almost certainly wouldn't be thrown straight into the deep end - probably nothing with any deadlines, nothing particularly complicated, etc.

Usually you'd be placed into a team alongside some experienced software engineers, where at least one of those people in your team will probably be working with you as a mentor (most likely everyone on the team will be available to help, answer questions, etc.). The team would probably be responsible for one or more of the company's ongoing projects, and your goal would be to reach a point whereby you can begin working on those projects alongside other people in that team.

If you join a structured graduate scheme then you'd probably start out on some kind of training programme with some learning tasks to get you used to being part of the company, working with their tools and processes, and being assigned some problems to solve, which would include needing to go and research problems and solutions online yourself. There would also be other introduction/induction events, and all kinds of starter tasks such as needing to install all the tools on your work computer, attending lots of meetings and training sessions, etc.

The company would want you to get up to speed by working in the same kind of way as all other engineers in the company, so there wouldn't be any "templates" because your job will be about solving problems and thinking for yourself. Developers don't use templates to write code; the kinds of problems you'll be expected to solve won't fit into neat boxes like that, although there will be "coding guidelines" to stick to in terms of things like code readability, as well as testing.

You will be expected to spend a large amount of your time using Google and StackOverflow to go and find examples/snippets/tutorials for yourself -- if you decided to use snippets that you find online then that would be up to you, you're not going to have someone telling you exactly how to write the code - your job will be to think of your own solutions to problems, try stuff for yourself , research a problem online for yourself, etc. That's a pretty big part of the job, so it's something to get used to from day-one, but of course you'd always be expected to ask for a lot of help and hints while you're still new. You'll have the benefit of other more experienced developers to ask for guidance and to point you in the right direction. Also, any code you write will be reviewed and you'll probably get a lot of feedback, asked to talk through problems and solutions with your mentor, etc.

The first few months are always going to be very intense - there's always a huge amount of stuff to learn and a lot of information being thrown at you, but employers generally expect that most graduates and juniors need at least 6-12 months before they reach a point where they're actually being really productive in their role - the first year in the job is when most people are making lots of mistakes every day and are expected to learn from those mistakes.

The cloest thing you'd get to any kind of prescriptive code structures in C# would be the kinds of standard patterns which C# developers use across the industry - there are a number of well-known patterns used in a lot of C# software. For example, if you end up working in ASP.NET then you'll probably use patterns such as Model-View-Controller, Dependency Injection and Repository. However, those aren't "templates", they're more like commonly-recurring solutions to commonly-recurring problems.

You will also (hopefully) be writing quite a lot of automated tests with those things as well, and following something which resembles a 'Test-Driven-Development' methodology. (Again, that's a fairly standard practice in most teams which use C#)
(edited 4 years ago)
It depends on your seniority level. Generally speaking juniors are expected to need quite a bit of hand holding. That includes "prior art" (examples of code solving similar problems), some pairing (working alongside another developer), and a fairly clear specification (the "definition of done")

As you climb the ranks you become a lot more autonomous and are expected to work with less support. You'll start building things that don't have prior art (else what's the point? The nature of software development is usually that you're doing something new), or with fuzzier requirements, or where you're expected to judge what the product / feature should do based on feasibility.

But don't worry, it's a good few years before a graduate developer has to do that. (At least unless they're working in a very technical R&D field). Even when you do you'll usually have people you can bounce ideas off of at lunch etc - though increasingly it becomes your final call what exactly to do.

Personally I love the autonomy of the career. It can certainly be intimidating at first though. But you will definitely have support.

Quick Reply

Latest

Trending

Trending