Software as a Career: 5 Tips For Your First Few Years

in #career7 years ago

Starting Out

Starting out a career in Software Development can be as daunting as it is exciting. There are so many decisions to make along the way which can completely alter your future path. As of now (February 2018) I've been a professional Developer for almost 3 years since graduating with a masters degree in 2015. If you're looking for your first Dev job, or just started your career in Tech, this post is aimed at you. I want this post to help you like I wish it had helped me back then.

Tips

If you're graduating from a CompSci course and looking at the job market, you're in luck. So many companies are looking for exactly you. An excitable, young, ambitious go getter who can't wait to get stuck in to the first bit of professional software development you can get your hands on. Sure, you're a little bit rough around the edges. You can calculate binary sums by hand and can give the big O factor for numerous sorting algorithms, but probably don't know much about build pipelines or professional development environments.

You're a Junior. AKA, you're cheap.

If you're like me, you'll probably take one of the first job offers that you get coming out of university because "The job market is so tough for graduates". This may be the case with many areas of the economy, but for the vast majority of the tech industry it is not. Juniors with a basic understanding of software are very in demand in most tech companies, because with relatively small investment, they know they might strike gold.

Taking a Junior role is not a bad thing. I did it and I don't regret it. But I only really applied to junior roles and didn't try to test myself through some of the more rigorous application processes for mid-level positions. Do I regret that? Yes. That brings me to my first tip:

1. Test yourself above and beyond what you believe are your own abilities.

Apply for stuff you know you might be a tad too inexperienced for. The very worst that can happen is you get your ego knocked a bit (which I'll touch on shortly). However, you'll get a good feel for the types of things that come up in technical interviews and exams, which will prepare you to climb the ladder faster than the rest of us! The best case is that you get a great job in a higher position than expected, for a company that can nurture you to greatness! "He who dares, wins", "Fortune favours the brave", etc.

So you've made it to your first job, whether that be in a Junior position like myself, or at a slightly higher than expected position. I've got a couple of things for you here, which whether you like them or not, are inevitable to being a Software Developer. Ready...

2. Part with your ego

YOU WILL WORK WITH CLEVERER PEOPLE THAN YOU. Everyone, each individual Developer, is different. Everyone excels in certain areas and has weaknesses in others. At some point (very early on) you'll feel small. You'll be under the impression that you're out of your depth, or hurt because someone told you your way of doing something is not right.

At first this is hard to take, and you'll beat yourself up for not knowing it in the first place. There are a few people who come straight into any environment and seem to ooze confidence in their area (I knew a few at uni), but I believe the vast majority are like me. It'll hurt, and you'll question why they were so frank and why they know more than you.

Unfortunately, this is something you'll just have to get over. You'll realise that this person who's calling you out is not actually doing that, they're helping you. They're helping you improve as a Developer and as a person. I can recall several points in my first year as a professional Developer when I felt that the developers on the same level as me were far exceeding my capabilities. The very best thing to do in that situation is come to peace with that fact, and learn as much as you can. Which brings me to the next:

3. Be vulnerable to others

Being vulnerable and honest about your own knowledge is hard. Being able to say "What the F**K are you on about?" when someone is talking about something they assume you should know, is an essential part of your own internal development.

It sucks when you first say it. You'll feel judged, and your ego (that pesky thing still lingering there) will be hurt. But you'll notice that the more vulnerable you enable yourself to become, the more you'll learn and the faster you'll learn it. You'll also notice people being more vulnerable towards you. They'll ask you questions that you might know the answer to, and you'll start to realise "Hey, maybe I'm not so stupid after all". Suddenly that developer that you thought was streaks ahead of you may actually need your help with something. Wow, that felt good.

This has the added benefit of getting a good reputation when it comes to not blagging. You never want to be the bulls****er. If you don't let yourself be vulnerable, and attempt to maintain an "All knowing" persona, you will eventually be found out and people will think slightly less of you.

Moving on...

You've settled in and have learned lots, but the education side of the job is dwindling and the job is getting a little tedious. Time seems to be drifting away, and it's time to move on:

4. Time flies, don't get too comfortable

When you're in a steady job and it's becoming easy, it's very difficult to revitalise the ambitious mindset you had when you interviewed for your first job coming out of university. It needs to happen. If you're not seeing any growth opportunities where you are now, you've gotta get out of there or risk being left behind. Time to dust those shoes off, get that shirt out of the cupboard you haven't worn in years and start throwing out the CVs/resumes.

I was in this position about a year into my first job, and I went into applying for new positions half heartedly. This was a big mistake. Not only did I not get any of the new positions I applied for, I knew the reason was because I didn't put everything into it, but still was disappointed. I was trapped in a steady job that provided OK money and seemed like easy money, so had no real impetus to get up and really strive for something new.

Eventually I moved sideways to a different company on a similar level just to try something new. The pay packet was a little bit better, and I'd moved from using primarily .NET to PHP. I just wanted something new. This proved to be a fantastic move. In terms of what I learnt in such a small time with regards to my own professional development, I could not have asked for a better opportunity. I found myself being the new "guru" on certain subjects in this new position, and was brought into the team for just that reason. I also learned new technical aspects in new languages.

But still, I was painfully aware of a few friends from university on far greater money doing far more important things for far bigger companies. After gaining confidence in my own abilities and proving my value in this new team I started to realise something. I had been undervaluing myself. Which brings me to...

5. Don't undervalue yourself

It's important to make those baby steps in the beginning. Taking a Junior role out of University is never a bad step, it's often a good step in the vast majority of cases. But be wary of getting comfortable, and put yourself in situations where you can realise your value. When the moment comes where you realise you've undervalued yourself, and your employers have used that to their advantage; put on your most polite and professional voice and bring that point up with them. Give them feedback about where you think you should be going and why you're of value to them.

If they're not convinced, you've got more motivation than ever to make the next step up in your career! Get the shoes and shirt out again, start swatting up on sites like HackerRank and believe in yourself.

After moving sideways and being with that company for a few months I came to this realisation. Six months later I had gone through a series of technical exams and interviews (I had never previously thought I'd pass due to lack of confidence and self doubt) and got a job offer which was a huge step up.

Summary

  • Test yourself
  • Part with ego
  • Be vulnerable
  • Don't get comfortable
  • Don't undervalue yourself

Bonus Tips

Some extra tips I've not gone into which will definitely help in the long run...

  • Version control (git) will be your life
  • Talk to other Developers
  • Have friends who aren't Developers
  • Have friends who are Developers
  • Don't be scared to move around

Thanks for reading and I wish you all the best! Good luck!

Sort:  

Congratulations @alexroan! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Do not miss the last post from @steemitboard:

Valentine challenge - Love is in the air!

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @alexroan! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.15
TRX 0.24
JST 0.032
BTC 85325.43
ETH 2232.15
USDT 1.00
SBD 0.68