Like many people I have felt lost and frustrated as I navigated through our industry, doing stuff that fitted with what I perceived to be the next step. Now, I realise my frustration had been borne out of forcing issues, not growing into them, by doing things for the sake of it, rather than understanding why I was doing them. Looking back, I see that my frustration was caused by inexperience. Since then I have noticed traits that run through many young developers and designers I have worked with, managed and am friends with.
I thought I would write down and share my tips for having a happier and more rewarding early career.
01. Don't look down on lack of knowledge
"Oh, you don't use [insert new or obscure language or tool here]?" No I don't, but I'm guessing you do? The truth is we are a very young industry and it is impossible to have a working knowledge of all the latest ideas, tools and platforms that get emailed, tweeted and shared every single week. Don't assume that someone is less knowledgeable than you because you have picked something different to read up on, because the tables could so easily be turned. Spend your time forming your own opinion and if you really think it's useful (I mean really, not because it is the 'in thing') spend your time explaining why. Write blog posts and get active in the community - that is how you change perceptions.
02. Beware of jargon
Why use 15 words to describe something when you can use 10? Choose your language carefully. If you are among a bunch of like-minded individuals use jargon, if not, speak in layman's terms and don't try to make yourself feel superior by using language you know the other party isn't going to understand.
03. Understand your code
If you're working on a piece of code but you are not completely comfortable with what it does and how it does it then don't walk away until you are. If you are struggling, then take a step back so you can see if there is a better way of solving that problem. If you, as the person who wrote it, is struggling to understand it then your colleagues (or even yourself in six months' time) have no hope.
04. Value other disciplines
If you are reading this you are probably in the designer or developer camp. You know, us designers are more creative and understand people better, we can leave the data stuff to those developers. Whereas, us developers are more logical and can cope with complex routines better, I leave the prettifying stuff to those designers.
Change your way of thinking. You have one common goal: making the user happy. That is true regardless of whether you are creating a design for the interface or providing the data for it. At the end of the day we are all users, so we all should have an idea about what makes users happy.
05. Help customers
Customers are not supposed to understand the intricacies of web development, that is why they are paying you. Some customers are a pain, of course they are, but when you get frustrated try to think of it like this. If they have a problem with the proposed solution, try to explain it using common language. Bear in mind they might not be able to communicate their problem directly but the pointers are there, they always are. Learn to listen to what they say, and don't try to dismiss it.
06. Value recruiters
So they may sometimes put designers forward for a development job, and vice-versa. They may put you forward for a .NET job when you are a PHP developer. They may think that regardless of where you live in Yorkshire you can get to anywhere else in Yorkshire in an hour (you can't, it's massive). But never, ever forget how lucky we are as an industry to have a whole host of people actively chasing us for jobs. I can't think of any other industry that has that.
07. Look up to the web glitterati
People often moan about seeing the same people at conferences, writing articles and being lauded over by other developers. Reality check: they have earned it, and it can be you! No one is going to come up and just ask you to speak and national conferences - you have to get out there and do something or ask to be involved. If you want to write articles for well-known publications, just ask.
08. Take responsibility
So many times I came out of interviews thinking I didn't get a job because they didn't 'get' me, or I hadn't been on enough training courses at my current job. The truth is I didn't 'get' me because I had let my development skills go stale. I should have been comfortable talking about a job I had been doing for years, but I wasn't, and I was the only one to blame for that. Certainly not the interviewer wanting a candidate who was comfortable about the world in which they work and live, and not my company who couldn't send me on courses covering what I should have had the passion to learn in my spare time. You are responsible for your own development, nobody else.
Don't use money as an excuse for sticking at something you don't like. I have stayed in jobs I have outgrown or haven't liked because I had convinced myself that it would be too financially risky to leave. When I finally realised that to be the case, I acted on it and walked away.
Getting out of an environment that doesn't make you happy is about much more than just money. Having a job you enjoy undoubtedly gives you more drive and vigour in the rest of your life. Try to get yourself into a place, both physically and mentally, that allows you to be passionate about what you do. When you do that, it is easy to develop both personally and professionally because you want to do it because you love it.
Finally, don't write articles about your fellow designers and developers without taking a long, hard look at yourself first. The truth is, all of us at some point have felt threatened, uncomfortable and the need to assert our knowledge and authority. No one is perfect, we all have egos, passions and things that motivate us. Our industry is one of the most open that has ever existed. We share our designs and our code, and barely a month goes by without a new take on an old problem. Let's just make sure we carry that on in everything we do and every meeting we have.