Wednesday, July 13, 2016

Dusting it off

I happened to get curious about my portfolio page today. I was moderatly surprised to see it still rendered at all, considering it has been gathering dust for two years. Nonetheless, it remains intact! Until you click on all the links at least...

For the past two years I've focused almost completely on developing my skills through my paid work as a Software Engineer, with little to no love paid to my portfolio page, or any of the linked projects.

The result is not unsurprising - dead links, and out dated content.

So this provides the necessary motivation for me to start off a new round of blogging as I roll up my sleeves and get busy with clean up and refactoring.

Today, we'll just set some goals:
  • Remove dead links.
  • Update my "latest blog entry" to actually point at my latest blog entry.
  • Write the TypeScript with Angular 1.X style guide I've been meaning to write.
  • Review my old (two years is ancient!) projects - pick some to refactor, and others to just shudder at as I am faced with what my coding style looked like two years ago.
  • Blog about it as we go!

Wednesday, July 23, 2014

Getting Hired After Camp - Part 3

Time to wrap it up! We've talked about most of your pre-work already - your online presence, your resume, and your projects.  We'll finish with some tips based on my experience with finding quality job leads, dealing with recruiters, and the all important interview.

Fair warning - this post got really long. I would have split it up but the rest of my week and weekend are super busy, so I'm just going to plough through tonight until this is done.


#1. Where to find a job (that you qualify for):

There are a TON of Web and Software Developer jobs out there. The trouble is, when you first start looking, it seems like they are all for Sr. Devs with ten+ years of experience. Do not despair - the job for you is out there.

I probably submitted somewhere between 30 and 40 applications before I received two interviews.  Both interviews resulted in official job offers. Some of my classmates had to submit far more applications, but also got hired in the end.

You should certainly be looking for Junior level positions. But you absolutely should also be applying to Mid level positions, and even Senior level positions, as long as they are looking for skills that you posses. Senior Java Developer? Probably not for you (unless you happen to know Java). Senior MVC/Javascript Developer? That's something to look at and possibly apply for.

You are very rarely to never going to see a job post for a Junior Developer job that requires no experience.  You will see far more "Jr." Dev postings asking for 5 or more years of experience. Do not let this discourage you. For one thing, after you finish Coder Camps, you actually have very strong coding skills in current technologies. And you have a ton of practical experience. Also, a lot of those "years of experience" requirements were written by HR folks that have no idea what the Engineering Department really needs.

Pay more attention to a good fit in terms of desired skills/languages rather than years of experience. Thats what the savvy employers are doing, you should to.

Okay - where to find jobs?

The obvious: LinkedIn, Monster, Indeed, and Dice. All the other various online job sites.

Put your time in on all these sites. Applications are time consuming, make sure you set aside a few hours a day for this.

Where else to look? Check out Reddit, and Craigslist. One of my classmates turned me on to Craigslist when I complained about having a hard time finding Jr level jobs on the big job sites. I found at least as many good opportunities on Craigslist as I did on Monster, Indeed, and Dice combined. One of the two offers I received came from a company that I applied to after reading their Craigslist ad.

Recruiters - more on these people in a moment, but you should be using them, and their websites. All the large recruiters have company websites with job postings. You can easily google who the top recruiters are in your area.

Network! Have you been blogging? Talk to your family, friends, and former work colleagues - make sure they know what you are doing - odds are a few of them know people in the software industry that they would love to introduce you to. I received a few leads from family and friends - none resulted in a job offer but I made some good contacts, added some folks with serious credentials to my LinkedIn network, and got some valuable advice about the local job market.

#2. Recruiters:

If you have followed the plan this far you have already started getting calls, emails, and LinkedIn invites from recruiters. If this is not happening for you, go back and read parts 1 and 2 again and see what you missed or what you can tweak. Make sure your resume has been uploaded to the major job boards and is searchable.

Recruiters can be difficult. The typical (bad) recruiter contact reads something like this: "Hi, I checked out your resume and you sound like a perfect fit for this Senior Developer position I have that needs 15 years of experience! If you are interested please send me your resume."

That said - you need to respond to all recruiter contacts. If you get something like that, send them your resume and say something like "Sounds great, I might be a little green for this position but take a look at my resume and let me know if we should more forward on it, and please let me know about any other positions you think are a fit for me."

Odds are you won't hear back from that recruiter again, but you never know.

The good recruiters will actually read your resume before emailing or calling you. They will ask you questions about your experience, about camp, and about what you want to do, and how much money you want to make. If they are local they may want to meet for coffee or lunch. Do it! If nothing else, free food!

If you can, reply to a good recruiter by phone rather than email. Return their call or email promptly, and be ready to sell yourself a little bit. This will help them sell you to prospective employers.

I really can't stress this enough, you can't know which lead will eventually pan out, so you have to treat them all as if they will. The job I ended up accepting came to me through a recruiter that saw my resume online and just called me up one day. Guess what, the job posting was for a Senior Developer position. But the recruiter said I appeared to have some strong skills so lets give it shot. I figured nothing would come from it, but I applied anyway.

Well the recruiter had a very strong relationship with the company and they did a great job of selling me. It got me a phone interview. The company was not looking for a Junior Dev but they liked me and trusted the recruiter so they told me they would talk to the rest of the team and see if they had capacity to mentor someone green like me. They said I'd get an in-person interview if they did, otherwise, I would not. Again, I figured that would be the end of things. But no, they called back and scheduled the in-person interview!

I ended up getting hired as a Junior Dev (Software Development Engineer I) when they had posted a job opportunity for a SDE III (Senior Dev) and weren't even looking for a Jr. Dev. 

Last thing on recruiters - don't just wait for them to contact you - you should have a bunch of other Coder Camps folks in your LinkedIn contacts - check their contacts - some of them will be recruiters - reach out to those recruiters yourself. Search for reputable recruiters in your local area and contact them through their websites or over the phone.

#3. The Interview.

This is a subject people write books about. So I think the best thing I can do is offer you my impression of what worked for me and a few tidbits of advice.
 
First of all - talk to the folks at Coder Camps (Dave is not that scary!) and ask them about their interview experiences.

When you go for the in person interview(s) make sure to ask about how to dress - you need to balance being real with dressing for success. For example - I was told to wear "strong business casual, a tie and or sport coat are appropriate." I wore dark grey slacks, dress shoes, a fitted shirt, and a tie. I did not wear a sport coat - its just not me, I never wear them and I would have felt uncomfortable and fake. Turns out that was a great decision - everyone that interviewed me was dressed in shorts and t-shirts or other casual wear. I rolled up my shirt sleeves but kept the tie on - it looked good. I made sure to let them know I appreciated the casual dress policy.

Over dressing for an interview is as much a problem as under dressing for one - everyone is looking for people that will "be a good fit for the team" - that means they want you to be the kind of person they can see themselves going out to have a beer with after work.  You will need to dress the part, which means asking on the phone what to wear to the interview.

Be ready to code! Some places do an HR style interview and then after a second technical interview. My company just goes all out and has you meet with 6 developers over the course of 4 hours all in one day. I was asked to code two different problems at people's desks. I ended up doing one in Javascript and the other in C# - make sure you are keeping up on your coding after camp - do NOT get rusty! Do some coderbytes - they are great practice.

Make sure to talk! They want to know, not just that you can code, but also how you think - you need to describe what you are doing and thinking out loud as you work on a code challenge. In fact, if you do this, you can often get advice from them, "well I'd probably do it this way...or like this...right?" - nobody knows all the answers - asking for help will be a part of your daily life as a Dev - its okay to do a bit of it in the interview.

Oh, don't forget to use your tools! one problem I had to do required some nested loops. My output wasn't quite what I expected the first time I ran it (or the next 4 times but whatever, I got it done eventually). As soon as I set a breakpoint in Visual Studio the guy watching me started nodding his head vigorously - I had done the right thing - I showed him I knew how to use a tool!

Be prepared for trick questions and riddles. Not all interviews will have these but they are pretty common. I was shown some code that was semi-advanced syntax - stuff I had not seen before, and I was asked to explain what the results would be. I talked through the parts of the code I did understand, and made an educated guess based on that - explaining honestly that I had not used that particular structure before and so my answer was based on what I could infer from the part I did know. I didn't get the answer right, but they didn't seem to care - it was a trick question anyway and by showing my thought process they were able to see what they wanted to know about me.

I also had to answer some logic puzzles. Again, talking it out, and showing your work on a whiteboard are your friends here. It's not so much about the getting the answer right as is it being able to explain your thought process and having a logical way of attacking the problems. That, and, show enthusiasm for it! Odds are, they want to hire someone that thinks its fun to work through a hard challenge they don't already know the answer to.

Be honest about what you don't know - and emphasise what you do. I don't know all the theory that a candidate fresh out of a 4 year CS program knows. I could not answer any of the theory related questions I was asked. I didn't try to fake it, I just explained that my education was focused on application - how to solve problems by writing code, but I still ad a lot I wanted to learn on the theory side of things. My interviewing actually said "yeah, for an entry level position, we can either hire someone that knows a lot of theory, or someone that knows how to write code." They know it, you know it, just acknowledge your gaps, remind them of your strengths and move on. Do show an interest in filling those gaps though!

My final advice - have questions ready for them - about the company - it's products and it's future, about the Dev team - how does the team function, how do they divide up work, how to they communicate, what's the culture like, and about the position - what are they looking for in a candidate, what traits do they find people that are successful in this role share? You will almost certainly be given several opportunities to ask questions. If you fail to do so you are saying you don't really care about the job, or you haven't done your research.

Oh, ok, one really final thing - Do your research. Before you go in to the interview study the company website, understand what they do and what you will be working on. Read the company profile and reviews on Glassdoor.com. Look for recent news stories or press releases about the company. There will be opportunities in the interview for you to use this knowledge and it will reflect very positively on you.

Wow, well if you read all that in one go, good for you. I wish you luck but you really don't need it - the jobs are out there and they need you. Put in your work at camp, and put in your work in the job search and you will find the job for you. And don't settle! I told you I got two offers. Well the first one was for $23k a year LESS than the second one. I only had to wait an extra day for that second offer to come in, but I was nervous. Turned out I didn't have to be. If the offer or the company is not right, do yourself a favor and wait for the one that is, it's probably right around the corner.

Tuesday, July 22, 2014

Getting Hired After Camp - Part 2

In yesterday's blog we covered several key aspects to preparing for your job search: your blog, LinkedIn, online portfolio site, portfolio projects, and GitHub repos.

Today I was going to finish up by covering your resume, talking about where to find jobs (that you will qualify for), recruiters, and the interview process. However it turned out that resumes are a pretty big topic; one large enough to have an entire post devoted to it. So tune in tomorrow for Part 3 - where to find jobs (that you will qualify for), recruiters, and the interview process.

Please keep in mind that everything in this blog is just a suggestion. These are tips that worked for me, but it's always a great idea to think outside the box and come up with unique strategies of your own.

Disclaimer - Let me start by saying that my resume is by no means perfect. Specifically, its lacking in proper description of projects I worked on in Camp. More on that below. Also, I am not a designer - there are many templates out there you can use to make your resume visually more attractive than mine.

Disclaimer aside, you can see my resume here: LWalden Resume.

Length:

The first thing to know is that you can throw out the old rule of fitting everything on one page. Yes, ten pages is excessive, but overall, if your resume contains the right content (and ONLY the right content), length is largely unimportant.

Customize:

Before you attach a resume to a job application you need to review it and edit it to match the requirements of the job posting. Most job postings include a bullet list of key skills and/or duties. Your resume should speak directly to as many of those bullet points as you can (while being honest about your skills and experience) - if possible use the exact same phrasing as the job posting.

Yes, it is a lot more work to tweak your resume each time you send it out, but it is well worth it. The HR rep that reads your resume has no idea what "Linq to SQL" means. They just know that they have a list of requirements they are looking for - you need to use phrasing that matches their list to get your resume moved on to someone that can make an informed decision.

Your resume should contain several key sections:

Contact & Bio:

Your name, phone number and email to start. Then add URL's for your LinkedIn profile, GitHub account, online portfolio, and your blog. You do not need to include your snail mail address - in fact this information can only hurt you if a potential employer thinks you live too far away.

Skills:

You have learned a lot at Coder Camps - let people know! This is the most important section in terms of getting recruiters to contact you, as they often work with keyword searches. Include programming languages, frameworks, IDE's, etc. Avoid including non-coding related skills such as "MS Word", "Powerpoint", or "Sales".

Experience:

This is one area that will be very different from a "typical" resume. Odds are you don't have much, if any, experience as a Developer. That means you can't just do the typical list of  previous job titles, dates of employment, and bullet points detailing duties and accomplishments.

Instead you need to list projects and describe what technologies you used and how you contributed to the project.

Bad: (and yes, mine resume looks a lot like this)
Full Stack Developer - Coder Camps - x/x/xxxx - x/x/xxxx
Created dozens of Apps using Javascript and C#.
Worked as part of an 8 Developer team on a real-world application in an agile development environment.

Good:
Full Stack Developer - Coder Camps - x/x/xxxx - x/x/xxxx
Project: Twitter Clone
Designed and developed a working SPA twitter-clone client including a UI with profile management, asynchronous AJAX calls to a restful API, connection to a NoSQL database, and the ability to communicate with clients developed by other developers at Coder Camps. Utilized Javascript, AngularJS, Firebase, HTML5, CSS3, and Bootstrap 3.

Project: JrDevs.co
Used C#, Entity Framework, and SQL to add back-end support for job posting and job seeker skills functionality. Used Javascript, CSS3, and AngularJS to add frontend UI for the same skills functionality. Redesigned site forms and added client-side validation using AngularJS.

You will want to use technical language in this section and highlight your contributions to group projects (rather than the scope of the entire project). Keep listing projects until you have covered as many of your skills as possible.

I did not do this on my resume. I received feedback from several recruiters that this would be helpful. When I applied for the job I have now the recruiter asked me to give them a word document that basically described several of my projects in this format. They attached this two-page document to my resume for me - it didn't look good - the formatting was totally different from the rest of my resume, but you know what? I got the job!

Do yourself a favor and just include a list of your projects on your resume now.

What about previous jobs?

You should include SOME of your previous work history from other career fields. Include any job you held for 2+ years - the HR team will like seeing that you can stick around. Include anything that shows you can successfully work as part of a team. Include anything that shows you have critical thinking skills, or have done creative work in the past. Include any promotions you received, or times when you made significant contributions to the success of a company you worked for.

Beyond that, the rest of your work history can be cut if your resume is getting lengthy. If you have ten years of work experience, there's no need to go back and list every job back to the beginning. At the least, consider removing any bullet points or description of job duties that will be totally irrelevant to what you will be doing as a Dev. Just be careful to avoid creating the appearance of large gaps in your work history.

Education:

Include Coder Camps! Keep in mind that code boot camps are still relatively new - so its a good idea to include a short description of what camp is, what you learned, and the amount of time you invested. Rather than just saying camp was 9 weeks long, consider how many hours you spent on the pre-reqs, in class, on homework at night and on the weekends, and in the Masters section if you attend it.  Add it up - it's going to be between 600-1000 hours of intense instruction and application of current best practices and the latest in demand technologies in today's development environment. That's information you want to communicate to potential employers.

References:
Do not include references on your resume. Do not say "references available upon request" This is a waste of space. The exception: as you customize your resume for a particular job post (which you will always do as part of applying!) you should include references if the job post specifically asks you to.

Where to post your resume?

Once you have your standard resume ready (please have several people proof read it!) you need to post it online. At a minimum you should post your resume to Dice.com, Indeed.com, and Monster.com. You should also make it accessible from your portfolio site and LinkedIn profile. Reddit has sub-reddits for jobs by city/region that you can post in, and there are probably hundred of other places you can post your resume online.

Cover Letters:

Writing a cover letter is one of the most hated parts of applying for jobs. Fortunately, writing a cover letter for your first Dev job is a little different, and not quite as painful.

First - pay attention of the requirements in the job posting. Often they will give very specific instructions for how your cover letter should be crafted. Follow these instructions. It's a test. To see if you can follow instructions. Pass the test.

Next - If there are not specific instructions, but they do ask for a cover letter follow these guidelines:

  • Be real - Speak in your own voice, don't be overly formal.
  • Be honest - If you don't meet all the qualifications, don't lie about it.
  • Sell yourself - You don't meet all the qualifications, sure, but you are still a great candidate - tell them why they should hire you anyway - communicate your passion, dedication, and talents.
  • Keep it short! - One paragraph is fine. Three is way too long. (again, unless the job position has specific guidelines.)
  • Do not use a form letter! You might have a template to start with, but you had better customize it using the information in the job posting you are responding to.

Finally - If the job posting does not ask for a cover letter:
Cover letters often go unread. If they didn't ask for it you can consider simply not including one. Another way to go is to just include a couple well crafted sentences that speak to your passion for development, and refer them to your blog, online portfolio, and resume to learn more about you. "My resume contains links to my blog, LinkedIn, and online portfolio so you can truly gauge who I am, and the quality and productivity I will bring to this position."


That's it for resumes! I'll try to wrap things up tomorrow with where to find a job (that you quality for), recruiters, and the interview.

Monday, July 21, 2014

Getting hired after camp - Part 1

One of my favorite things these days is watching as my classmates from Coder Camps announce their new jobs on LinkedIn. Afterall, that's why we all decided to invest so much time, effort, and money into this process!

The experience of being at camp is intense. You are learning so much, so quickly, it's hard to focus on anything else. But before you know it, camp is over and it's time to start looking for that first Dev job. Will you be ready? It's easy to let that moment sneak up on you unprepared.

So with that in mind, here are some tips for current campers, to help you prepare yourself to land that first job.

Today I'll be covering your blog, LinkedIn, online portfolio site, and portfolio projects. Tomorrow, in part 2, I'll cover your resume, where to find jobs (that you will qualify for), recruiters, and the interview process.

But first - when should you start?

Your blog and LinkedIn need attention while you are still doing your pre-work. You will update these resources on an ongoing basis as camp progresses. When to go live with your resume, portfolio site, and portfolio projects is up to you but I highly recommend you have them all ready to go at the same time. Week 5 or 6 is a very good target. You can always add additional portfolio projects later, but have at least one ready to go when you start sending out those resumes.

You will be very busy at camp. You do not have time to work on these things during the week. So that means these are weekend projects. I know that doesn't leave much time for rest and relaxation, but you do want a job as a Developer, right? Put the work in NOW, rest and relax when the paychecks are coming in.

#1. Blog With Employers In Mind.

Did you create your blog, like Coder Camps recommended in your pre-work? I hope so. The absolute best way to get a job is through networking. The people that read your blog know other people. Some of them work at companies that hire developers. Make sure your network knows what you are doing!

I know how easy it is to let the blogging slide, but you should be posting at LEAST once a week. Share each blog post on social media - Facebook, google+, LinkedIn, etc.

When you write your blog posts, you should assume that each post will be read by all potential future employers. That means check your spelling, maintain a professional tone, and most of all, be positive.  This is where you can show an employer that you love what you are doing. It's not the place to vent about how overwhelmed you are.

Try switching off between posts that are technical in nature - speaking about the technology you are learning, and what you are able to do with it - and more casual posts that non-coders will be able to understand - speaking to the experience, how you are growing personally and professionally, and just what's on your mind.

#2. LinkedIn

Okay, you have your blog. Have you set up, and/or updated your LinkedIn?

This one's a little more straightforward:
  • List Coder Camps as part of your education.
  • Put a link to your blog and your online portfolio (more on this in a moment) on your LinkedIn profile.
  • Make sure your profile is public!
  • Send invites to all of your classmates (including those ahead and behind you!), and to the Coder Camps staff.
  • When you get to phase 3, include the group project in your work history - this is a real-world application you are building, and an important part of your work experience.
  • Accept invites to connect from any and all recruiters (they will be sending them to you).
  • Add skills to your profile as you obtain them throughout camp.
  • Endorse your classmates skills. They will endorse you back!
#3. Create an online portfolio.

Next, it's time to create an online portfolio. You can do this for free on GitHub, or on a host of other online platforms. This is a great chance to practice your HTML and CSS skills (and Javascript if you want to get fancy).

Your portfolio should link to your blog, LinkedIn, your resume, your GitHub, and any other online presence you have that's code-related. Besides this, you can highlight the skills you've learned at Coder Camps, and link to at least two projects you are proud of (more on this next).

Here's mine, as an example: lwalden.github.io
And, a quick guide to hosting simple websites on GitHub: lwalden.github.io/HostingOnGitHub

#4. Host projects online.

The most important part of your portfolio is linking to at least two projects you have created. These can be projects from class, or something you've developed on your own. I am not talking about just linking to a GitHub repo (but do that too). You want to have these projects hosted on the web. They should be polished inside and out. By that I mean the app should look good when you browse to it (outside) and the code should look good when someone checks out the source (inside).

That might mean refactoring your code, leaving useful comments in your code, using Bootstrap or Foundation, avoiding the use of HTML table elements as structure (except for tabular data) and similar best practice no-no's, and making sure you are following standard casing conventions for the languages you use.

Ask one of the Coder Camps counselors to check out your projects and give you feedback. If they give you suggestions, implement them!

As already mentioned. you can host frontend apps on GitHub for free. There are also ways to host apps that showcase your C#, MVC, and SQL skills but that can be a more complex process so give yourself extra time to work out the details if you choose to go this route.

#5. Don't Sweat Your GitHub.

Finally, an easy one! By the end of camp your GitHub account is likely to be a mess. Don't worry about it. As long as you have a few polished apps that you can refer potential employers to (ideally hosted!) the rest won't matter. There's no need to delete those early apps that you may not be super proud of by the end of camp. The people looking at you GitHub will fall into two camps - those that don't understand what they are looking at, and those that have their own collection of half-baked apps stored someplace. Either way, you don't have to worry. You may also find some of that code useful to look at down the road!

That's all for today. Tomorrow in Part 2 I'll cover your resume, where to find jobs (that you will qualify for), recruiters, and the interview process.

Wednesday, July 2, 2014

End of the road.

It's been several weeks since my last blog post and I'm happy to report, I had a very good reason for the delay. After making the very questionable choice to drive 2400+ miles (including wrong turns) from Houston, TX to Vancouver, WA in 53 hours, stopping for sleep only once; I spent the next few days job hunting. This resulted in two interviews and, more importantly, two offers the next week!

I ended up accepting a position as a Software Development Engineer I at a great company. I started work a week and a half ago, and I'm loving it.

The decision to travel more than halfway across the country and spend 10 weeks away from my home, family, and friends in order to attend Coder Camps turned out to be one of the best I've ever made. Everything about the experience, from the coursework (which has ALL been relevant to my new job), to the support fellow students and the instructors (amazing!) helped greatly in making this life-changing career transition possible. (Not to mention the support of family, and especially my wife, Dina!)

If anyone reading this is curious about learning to become a Programmer, or about Coder Camps, please contact me; I'm happy to share my experience and answer any questions you may have. It's not for everyone, but it's also far more attainable than most people think. If you didn't know, for the last 15 years, I've worked almost exclusively as a call center agent, supervisor, or manager. The pay was decent, and I had some great co-workers, but it is an emotionally taxing, unstimulating, uninspiring, unrewarding, and an all-around generally unpleasant thing to do. On a good day.

Whatever you are doing for a living, if that sounds familiar, I challenge you to do your homework, search your soul a bit, get ready to sacrifice, and then JUMP! Take a risk and pursue something you really enjoy. It might not be Programming, it doesn't matter what it is. As long as it's something you are passionate about, it will be worth it.

 I started this blog to chronicle the experience of going to Coder Camps and of starting my new career. That part of the journey is done, and therefore it's also time to say goodbye to this blog. My journey has a long way to go, and perhaps I'll start another one in the future; but for now, just keeping up at my new job is enough to take all my focus.

Thank you for reading, this and my other posts. I really enjoyed seeing the page-view count rise over the last few months - it made being away from home a little easier as I knew most of those page-views were from people I know.

And as always, I can't wait to see what I don't know tomorrow.

Friday, May 30, 2014

Last day at Coder Camps

It had to happen; today is my last day at Coder Camps. Yesterday I gave a hand-off presentation to the next troop that will be taking over work on the App we worked on during the group project phase. Today I demo the App to the rest of the school.

I also added a new portfolio project yesterday - Conway's Game of Life. You can see my whole portfolio here.

My time is divided into three areas - looking for work, working on my portfolio, and learning new skills. The next few days will be a break from that routine as I drive back across the country from Texas back home to Washington.

Coder Camps was an amazing experience that taught me a great deal about web development, equipped me with the knowledge to use today's most in-demand technologies, and gave me the opportunity to work on real world projects in a team environment. Importantly, Coder Camps also gave me a solid foundation on which I can continue to build.

The Coder Camps experience isn't about copying code, or just following a template. Its about mastering the basics, then learning by doing, thinking, planning, testing, and doing some more! Now, if I want to learn a new framework like knockoutJS I've got the confidence and know-how to just dive into the documentation and figure it out. Thanks Coder Camps!

Monday, May 19, 2014

Week 8 is underway

It's week 8 at Coder Camps which means I'm in the middle of our group project. We're working on getting a beta version of the app ready this week, and possibly as soon as tomorrow. Saturday I participated in a Hack-a-thon at Coder Camps, where I built out the backend of an online feedback app. I also wrote a short guide on setting up GitHub Pages this weekend.

The group project is going well. In the last 8 days we've studied the code, the business requirements, and the wireframes. We've been introduced to Team Foundation Server for version control and project management. We identified a list of bugs in the code passed to us, and resolved half of them. We've also made significant progress on adding more details needed for the beta goals to be considered met. Today I worked on making sure all forms on the page implemented solid client-side validation. I also re-wrote some code so that users will now be prevented from sending duplicate AJAX calls to the API when submit buttons are clicked multiple times. Good day :)

The Hack-a-thon was a lot of fun. I worked on a five person team to create an app that would allow multiple users to log in at once, create feedback suggestions and comments, with voting, and some administrative functions. We used jQuery, KnockoutJS, C# MVC, and SQL. I got to write the backend Web API, repositories, a database seeder, and several of the POCO classes. This was the first time I'd had the chance to write a Web API top to bottom. We ran into some issues trying to get full CRUD operations going with the client side but resolved them and learned some new things about authentication along the way. All the functionality is not there yet, but we are close. A roommate of mine at the Hack Shack and I are planning to spend some time finishing it this week.

And then last night I put together a little one page guide on hosting content on GitHub using GitHub Pages. I realized today I should add another small section dealing with issues that come up when trying to host a project started as a solution in Visual Studios, so I'll be probably work on updating that later tonight.

That's pretty much everything that's going on right now. Oh, I did see Godzilla yesterday. But other than that, its all eat, sleep, code.