Spending the year at a FTSE 250 company.
Technically I am all clued up on the hip new ES6 features:
varis old school now.
- Default parameters in functions.
- Arrow Functions
() => console.log('Are cool as heck!');
- Generators — although I will never understand a practical use for these!
This being my first technical job I had to adapt professionally, so here is what I learnt and some tips to anyone else going in to their first technical gig.
1. Getting off the ground is the hardest thing
Starting anything is hard but starting something with very limited knowledge is intimidating and frustrating. You are constantly running into problems and hitting brick walls. And at times it can be disheartening.
To avoid these walls there are a few things that I learnt to do.
The first is to have realistic expectations day to day. It’s great having an attitude where you think that you’re going to change the world from day one. Where you’re going to kill it day in and day out. But it can be hard to motivate yourself if you fall way short. That’s why having realistic expectations keeps you engaged and motivated. If you go to work with the expectation of writing two lines of code you’re going to hit this goal all the time. This in turn is going to boost your confidence and slowly your expectations will grow at a natural rate. But if you go in thinking you’re going to be able to keep up with colleagues that have been there 5+ years. Well. You’re going to have a bad time. Keep yourself grounded.
The second is to always be learning and have some structure to it. That could mean doing online courses in the evening, coming in early to chat to a mentor or side projects on the weekend. By doing this you will become much more prepared for work. If you learn something doing a course and you apply it at work, you’ve avoided a wall. You keep learning and the walls dodged quickly add up!
2. There will always be something new to learn
When you join a big company you’ll most likely be talking to a lot of people, who know a lot of different things. Don’t become overwhelmed by all the topics that you don’t know about. Learn at your own pace and don’t panic about not knowing something. During this last year many people have told me about:
- Functional programming — although I did actually do this. Only because of this guy. Legend.
- Gulp then Grunt then Webpack.
- This website with everything to do with Web Development.
Obviously you aren’t going to have the time to learn everything. Obviously no one expects you too. I got very nervous because I didn’t know everything that my colleagues were talking about and I was frustrated that I couldn’t keep up. But slowly I learnt that they’ve been doing this a lot longer than I have. And you have to trust that, in time, you’ll get to the same position as your colleagues.
3. Always ask for help
When you do hit those walls that I mentioned, don’t sit there for days trying to crack the problem. It’s really not helpful for you or your team. You have to be willing to accept when you’re beat and ask for help. It took me a long time to realise this and I still struggle with it sometimes today. I wasted countless hours trying to crack a problem by myself. Time that I could have used much more productively and moved on to a new problem.
So when you do hit a wall set yourself a time limit. If you can’t solve your problem in that time frame, ask for help. You don’t need to get the entire solution, just a nudge in the right direction is often all that is needed.
Don’t be afraid of asking for help. If you’re team isn’t willing to help then it’s not really a team. No one expects you to have all the answers and I guarantee people will be more than willing to help out.
Plus, when you do ask for help you learn about how other developers approach problems. Their thought process and ideas. By picking up these kind of things up you’ll be so much better prepared for the next problem. You’ll be able to look at it from a different angle and have a much better chance of solving it.
4. Don’t worry about mistakes
Mistakes are a fact of life. Fact. But you already knew that. Everyone knows that. Reading it is easy. Accepting it is a bit harder. Your code is never going to be perfect, someone will always have something to say. But don’t let them scare you. Be proud of your code and have confidence in it. It might not always be right but at least you did it, and making mistakes gives you something to learn.
Take on the challenging work and don’t stagnate. Wow, now I sound like a motivational speaker! But you get my point.
Code. Make mistakes. Learn. Repeat.
5. Enjoy it
Software development is incredible and I am loving every minute of it. Okay that’s a lie. Sometimes, like everyone, I want to hurl my computer out the window. But most of the time I love it. If you are just starting out try to enjoy it, take risks, make mistakes. Try not to get annoyed at the brick walls or not knowing every single little thing. It’ll come eventually!
I was fortunate to be part of a fantastic team who helped me out no matter how stupid I felt I was being. These are the most important lessons I learnt from them. I also learnt how to select great pictures for an article! I hope you liked them! If you made it this far you must have! Hopefully someone can benefit from this article. And if you are just starting out somewhere, very good luck!