My first job as a programmer was an eye opener for me. I was exposed to the reality of getting the job done. (...) Programming wasn’t the magical world I wanted it to be. So projects became just another website to build. It became a numb experience.
I never wanted my work to be just a project, just another website. The clients don’t know a bit from a byte. They don’t know the nuanced details of how all the parts of a web page interact. They couldn’t care less about how it works, or what I coded, just as long as it works. For a time I believed they were right. I just made it work.
I came to the realization that clients (and account executives) would never know as much as I do. That was not their job; it’s what they hired me to do for them. I realized that my job was more than just programming, I should be also a teacher and an advisor. Clients looked to me to help them make decisions.
I also learned to embrace the process of programming websites. I came to know that programming (websites in particular) was not about creating an end product, a final perfect form. It is a journey of discovery and solution finding. I embraced Wabi-sabi; the idea of the imperfection and incompleteness. The websites I made were not done, not finished; but they were done enough. They were “good enough” to be launched to the world.
It used to be that “good enough” was a dirty word to me, a black mark. It was a sign of failure. I’m not sure if through practice or years, but I have come to embrace “good enough”. To embrace the ugly imperfect tool that does the job and pays the bills. I have even come to see the beauty in the ugly that is PHP. To see how it can be used to make beautiful code out of it’s ugliness.
(...)
I believe in the magic again. I learned that within the boundaries of a project I can create little realms of beauty. No one cares how I code so I can code to my own enjoyment. I’ve stopped caring what other people think, and I’ve stopped looking to the job and outside world to give me enjoyment and I’ve started looking inside myself. To find the joy in my own actions, in the moment.
What advice would you have for folks who are just starting out or thinking of getting started?
Work through HTML, CSS, JS, and either Python or Ruby, then decide on the type of development you want to do. If you’re a fanatic about Android, for example, start learning it, and stick to it until your 1000 hours is up.
A mistake that I started having was thinking that perhaps a specific framework or platform wasn’t suited for me, and that X might be better. The moment you start acting on this, the longer it will take for you to learn and get a job doing it. If you want to be an iOS developer, or Rails developer, make the commitment, and work through the resources online until you get it.
You should also seek out other developers in meetups for the community you’re in. Get close to your designer friends, and start working on projects that they have in mind. Having someone else work with you keeps you accountable, and your product will be more polished in the end. Once you go pro, you’ll see that design and code is very much hand and hand - like peas and carrots.Which steps would you recommend for folks who want to find jobs after Codecademy?
Seek out a position in manual QA at any development house, agency, or company. Despite the requirements they may have on their listing, all these jobs require are good communication skills (to talk to both the developers and the business folks) and attention to detail. I believe web QA in general has the lowest barrier to entry (compared to hardware QA). Complete the HTML, CSS, JS and one OOP language on Codecademy, then create your own website such as a resume/bio site, then go shopping for employers.
Once you’re there, soak up the knowledge from the developers and business folks. Then plan your exit as you sharpen your programming skills. An employer will feel much more comfortable hiring you if you’ve had experience in a software development environment.
Conversation with the head of the DC RoR Group:
- I've added emphasis to parts of the guy's email
- This guy was really nice to take the time to write out all of this advice.
Quote:Hi David,
I was just accepted to DevBootcamp (in SF / Chicago) and was wondering if it's a good idea. It costs ~$15,000 and is 9-weeks long. I don't want to live in SF or Chicago; I'd like to stay in DC.
Do you think the market for RoR developers in DC is healthy enough that I'd be able to find work after finishing this program?
-----------
Hi Nathan,
Could you tell me a little about yourself and your background. I think the answer will largely depend on those factors. Are you currently a developer looking to get a jump start on a new language/platform (Ruby/Rails) or are you new to development and looking to switch careers?
Without knowing that I would say that there is an insanely strong demand for Rails developers anywhere you go, including DC. It's supply and demand and in this case there are far more openings than there are qualified applicants. The key word is qualified. While intermediate and advanced developers can write their own ticket to varying degrees, the beginner might still have a difficult time finding that first job. That being said I've recently seen a dozen or so employers in this area who are hiring at that level. That landscape may change but it tends to wax and wane so you just wait it out. $15k is a lot of money but it's also the time invested, not only for the program itself, but the time it will take to find the right job after you complete the program. If you're patient afterwards then I think it's worthwhile.
I've heard great things about DevBootcamp and I've met a number of graduates who have all impressed me. It's a tough decision to make, but if you're fully committed to a career change I don't think you'll have any regrets.
If you do decide to attend, my recommendation to you would be:
1. Start creating immediately. Put it on Github. Employers will look at your Github account to validate you as a developer.
2. Get involved in open source. Pick a project you're interested in and just dive in. Don't be shy to ask for help. You'll not only learn a lot faster and from really smart people involved with the project, but you'll gain an immense amount of credibility. Don't be scared or intimated to do this. You can ease in and people will help.
3. You need real world experience to get hired. While the classes themselves are a head start, employers will want to know that you've worked on something real and not just experiments and assignments. If you can't find a job after graduating, do work for free part time. Volunteer yourself to a company or project that's public facing. Investing that time will pay dividends later.
I know that's a lengthy response, but it's a big decision and I wanted to give it the attention int deserves. Good luck and let me know what you decide.
Best,
Dave