今日推荐开源项目：《从零开始的 React 新手教程 React From Zero》传送门：GitHub链接
推荐理由：这个项目是 React 的新手教程，从 React 的基础元素开始讲起，到组件和它们的属性，再到重构，引用与库的整合。教程中还有示例代码，如果想要学习 React 的话，看一看这个新手教程兴许会对你有所帮助。
今日推荐英文原文：《How to get better at writing CSS》作者：Charlotte Davies
Where can you work if you code?
This week, a number of conversations have been around what kind of opportunities there are available to new developers, once you have learnt to code.
From applying for jobs post-bootcamp myself, broadly they fit into these 3 categories: Startups, Agencies and Established Companies.
Please take what I say here with a pinch of salt. It is opinion based and only what I have found from my experience.
My advice would be to:
- Throughly research the company before you go and work there.
- Talk to as many people as you can about their experiences.
- Make up your own mind on what suits you, your personality and your skillset.
This is probably what initially springs to mind when you think tech. Someone über cool, sat in a garage, plugged into a laptop, changing the world one line of code at a time.
I interviewed for a number of startup roles, from craft beer startups, to finance and travel. I think the exciting thing about working within tech is that you can work in literally any industry and you don’t initially need to know much about the industry (although you certainly absorb a fair amount on the job). Currently I’m working on a project for the Automobile industry and now I know a lot more about cars than I ever thought I would, simply through arranging the content in my code. During my job hunt, I applied for a lot of opportunities within the fashion industry — an industry that usually requires oodles of internships, experience and in some cases a degree to get inside. Coding feels like sneaking in the back door to your dream company.
Working within a start up environment can be super exciting.
- The variety of projects you might work on — everyday will likely be different and you can gain experience in a lot of different areas.
- The fact that you are working to create something original may lead you to try new things that perhaps you might not otherwise have worked on. You could be lucky and work on the next Google. Equally you could be out of a job within the year, but it will 100% be brilliant experience.
- You can learn a lot fast because the typically low-budget under-resourced nature of startups requires everyone to be really hands on with all projects.
- You might not get the level of training and support that you may receive in a more established company. There are unlikely to be training schemes available and your colleagues may be too busy to offer much guidance.
- It is often incredibly fast paced. This can be intimidating, or exciting depending on how you look at it. Either way, you are likely to be looking at pretty long hours.
Your golden ticket is that not many people can code. I mean lots of people can code, but proportional to demand it’s not that many. Companies pay agencies handsomely for your skills.
Agencies tend to be either digital agencies or marketing agencies and you could be building anything from simple websites and banner ads, to email bulletins to and complex new apps. Day to day, you will probably be building designs created by a UX/creative design team. You may even have the opportunity to suggest new features for the client. You also have the opportunity to work freelance or as a contractor — more money available but less job-security and not ideal for beginners as you lose out on mentorship and training at work. You could work anywhere in the World though so great for anyone who needs flexibility in their work, or even just for those that fancy being able to work anywhere in the World — coding on the beach anyone?!
You can choose to work in any kind of field as agencies tend to specialise in a certain sector. Personally I love the luxury industry as it requires a sharp attention to detail that I love to be able to offer a client. You can also use your other skills and previous professional knowledge to excel within agencies so it can be a great environment for a career changer.
The pros of working in agencies are:
- A variety of projects and tech stacks to work on — it’s a great place to get exposure early on in your career to a number of different stacks.
- Working for some big name clients and often the chance to see your work in some exciting places (although you may be bound by client confidentiality and not allowed to tell your friends).
- Often more support than in startups as there tends to be more people around to mentor you and invest in your long term development.
The cons might be:
I’m a little biased as I work for one of the biggest consultancies in the World.
In general, for the established companies I interviewed for, the benefits are:
- The support, job security, training, mentorship. Big companies have a lot more time and money to spend on your development. You will also likely work in a bigger team who can support you. As the company has grown, they will likely be used to supporting the development of junior devs so many will already have some kind of training and development programme in place.
- The benefits and job-security tend to be better in a bigger company.
The cons are sometimes:
- Having less responsibility and less interesting work thrown at you initially. Though it is worth adding that you will likely get more responsibility quicker if you ask for it and prove that you can handle it. See my previous blog on how to keep up.
- Often working a lot with legacy code can be frustrating and you might not be able to move the tech on as fast because bureaucracy and complexities of the existing code base.
I feel I have really landed on my feet at DV as it kind of fits into all 3. The fun of a start up but with proper training and job security. We are owned by The Boston Consulting Group so the support, training and benefits are truly fantastic, but we are also well shielded from corporate bureaucracy by our brilliant partners and directors! We have the variety and big name clients of an agency with the real opportunity to work with and learn about new technology. For example I didn’t know what IOT was before I started here. Hearing about it in a couple of Engineering meetings, I Googled and now once I’ve mastered the coding basics I’d not only be really keen to start working on some IoT projects but DV may well one day offer one of those opportunities. (FYI, IoT is “the internet of things” — basically computers talking to computers — think sensors, wearable tech and voice/image recognition apps — to receive more detailed and accurate data which can be used to reduce the necessary human interaction and improve efficiency.) Plug over! (But do get in touch if you want to hear more!)