Starting off as a programmer - I've had to do two things - learn to program and learn to promote my experience even though I didn't have any. Many people know about the shit show that is the circle of experience and being hired. It's the dumbest fucking circle in today's age to getting a job, not to mention one that has serious advantages over experienced individuals.
So How the Fuck Do I get experience?
Well... you lie. Ok don't lie - but rather tell them of your capabilities in a manner that is more convincing to the extent that you're keeping under the line of hyperbole. Employers tend to look for the 'honest' people - but as soon as they're hit with the level of honesty they're looking for, they turn the other cheek. It's rude, it's unfair and obviously I'm projecting. Not all employers are like this, but you do need to sell yourself in a more confident manner.
There are a number of ways to get the experiences you need as a programmer nowadays, even though there's so much you need to learn. But a good step is to get talking to people in a social environment. Yeah fuck people, but we need them. I got my first job as a game developer when I was at a spoken word event. I managed to run into a friend and I was talking about how I'd just graduated. He coincidentally needed a game developer, so he sorted out a meeting with a guy who eventually became my senior developer. It felt good to finally get paid right after dealing with all this imposter syndrome.
Got the Job - Need to Manage
This part is interesting, because when you start working for yourself or you're freelancing, you don't know when to stop. I'm currently re-evaluating how to deal with this so that I get my money's worth when it comes to working for clients. I've had discussions with my business partner about good approaches and he knows very well about how I like to overwork myself to the point of not even sleeping to get the job done. Clearly it's not sustainable, but doubly clearly I can be a bit of a dickhead when it comes to personal health.
This time around I've focused on breaking the dollar down. Let's use numbers. I secured a $15k project that needs to be done in a few months. Everyone models everything differently, so if you have a different approach then please post in the comments as I'm ultra curious on the subject as well. My approach is the hourly approach. $15k over two months at 40 hours a week. About $45 per hour roughly is an amount that I make for this project. From there I was taking into account the active hours that I was contributing to the project and this one is a new one in the world of work. So many people like playing the big dick game 'who's been working the most today.
It's fucking stupid and meaningless. During my time freelancing, I've been quite critical of myself so that I could understand how I operated better to get the best out of me and to better provide for my clients. The general consensus is that - as humans - we only pay attention for 45 minutes at a time before we short out. I wrote a post on this recently(I'm on a roll with quoting myself). So give yourself some leeway when managing your projects so that you can both actively program and continue doing other things that aren't just about focusing on one particular task.
The second thing I've done was tack on a couple of hours for rest so that I could output quality work that is to a standard both the client and myself approve of. I know I'm not going to get better with less sleep, so I need to make sure I stay consistent.
Mapping Out an Overall Strategy
It's easy to be overwhelmed with work - so I've decided to continue breaking down some tasks that might put me off should I get approved for the project. I need to make sure there are no bumps and no steep learning curves along the way. So after my discussions with the client - I'd go home and sketch a pipeline of what needs to be done e.g. server side dev, UX, language preference etc. This way I'm not a deer caught in the headlights when I'm developing.
This is my strategy for increasing the likelihood of getting hired at a firm and it's helped me immensely in learning new design practices and the like.
Whether You've Fucked Up or Succeeded - You've got Experience
This holds true. You can pretty up that piece of shit you call your project and show it off in your portfolio(remove assets pertaining to the project if you've signed an NDA) and there you have it - experience. When I did this - it increased my number of job interviews by a hell of a lot and it feels good. Except now I like having a laugh with my business partner so I don't give a shit about being hired anymore, but it was a nice road to experience.
I'm sharing my experiences to help everyone who's on the way to becoming a developer understand the hurdles that you might go through before getting your career underway. Read what I've done and do better than them, as this isn't the only way to get it done. Some people have a serious knack for things like programming and you might discover a passion during your search for knowledge that takes you down a better road.