Charles's profileCharlie's PlacePhotosBlogListsMore ![]() | Help |
Charlie's PlaceJust me and my thought |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
A list of Web and XML Development Resources
|
March 14 Upcoming Web Classes March-July 09For those of you interested here's a list of the upcoming web classes that I'll be teaching at Strategy Computers in Bellevue WA.
Class Info: Classes are typically 4 hours from 5:30 to 9:30 1-2 times a week, or 8:00-5:00pm on Saturdays. For those interested in the Web Certification, Web Specialist or XML Developer programs, these programs will begin with the Web Foundation class which will start early in July 09. Prospective students should sign up as soon as possible to ensure a space. Financial assistance is available.
Instructor Bio: My name is Charlie Smith and I've been teaching at Strategy Computers for over 14 years and have over 15 years industry experience. I also currently work as a full time senior lead software development engineer at Microsoft in Redmond WA.
For more information and to sign up you can contact Strategy Computers at: Email: question@strategycomputers.com Phone: 425-643-4849 Strategy Computers Inc. 2475 140th Ave. NE, C100 Bellevue, WA 98005 March 10 Top Ten Tips for choosing Web Classes
With all the recent concerns about the economy it may seem like not a great time to start a new career. Often though there are opportunities in unexpected places and in unlikely times. The tech sector is still in relatively good standing and there are still jobs out there going unfilled for lack of qualified applicants. Of all the tech sectors web development is in my opinion one of the easiest ones for a newcomer to get entry into. How do I know this? Well, that's how I got my start 13 years ago. After getting injured while working in construction I had an opportunity to retrain into a new field. At that time the world wide web was just beginning and there wasn't truly an industry yet. I had very limited computer experience of any sort and I had a very short time frame within which to get my training. I had only 1 calendar year to cram in as many classes as possible. Oh, I also had a new family to support so once the state stopped paying for classes, I had to have a job. I looked at all the different opportunities out there but there was no way that I was going be able to complete all of the needed training and certifications. Besides most of them looked pretty darn dull, or they didn't pay enough to make it worthwhile. I started taking computer design classes since I had at one time done some illustration and fine art. I thought maybe that I could leverage some of my limited creativity into a some sort of digital design work. About that time the school I was attending started offering some of the first html and web programming classes in the country. I took that first html class over a decade ago and I've never looked back. I never would of thought that building web sites would have been so creative, so challenging and so lucrative. Yes I took a risk with limited resources. I spent countless days and nights studying and working on developing my coding skills. I fell asleep at the keyboard many times(I ended up with the keys imprinted across my forehead in one class!). After one full calendar year of classes I finally graduated in June. One week before my last class ended I was offered my first contract position as web developer at Microsoft. I haven't been out of work even a single day in the 13 years since then. In the first year I tripled my previous best year's income and within 3 years I doubled that again. Anyway, suffice it to say that this industry has been very good to me and I've loved every challenge along the way. So what makes web development so different from the other tech fields? Web development is unique in that it is constantly changing. Every few months new technology is introduced. Also there are many differing level of technical implementation. Some applications are cutting edge, some are legacy applications that may be several years old. You might deal with abstract data layers or strictly with user experience and visual design. In short there are multitude of slots in a very wide variety of knowledge domains and technologies. A word about certification programs here. There are currently no standardized industry wide certifications for the the technologies most in use in web development. There are a few proprietary certifications sponsored by various schools or companies. The reason for this is simple. The web technology landscape constantly changes. Web certification programs are of limited use since they are often out of date by the time that they are available and could be accepted across the industry. The good news is that most web programming interviews particularly for contract positions don't even ask what certifications you might have. The proof is in what you can do. It's painfully obvious to a qualified web programmer within a few minutes of an interview if you can do the work or not. A certification won't save the interview for you if you haven't done the preparation. Some certifications in web development though can be useful if you have no other experience, but they will absolutely not get you the job. Nothing substitutes for a solid classes developed and taught by instructors with years of industry experience. Here are the top 10 tips to help you choose the right school and classes: 1. Verify that your instructor has recent industry experience. Academic experience by itself is not very useful in an instructor. Interviewers have little or no time or patience for theory. You need to know the processes, tools, and techniques that will allow you to build working real world applications. 2. Be sure that the classes taught are relevant to the specific part of the web development field that you are most interested in. Of course this might change as you become more familiar with the industry you are targeting. You might also find yourself more or less suited by aptitude to different types of web development careers. See my earlier post for practical details on how this breaks down. 3. Don't hesitate to ask to speak to or contact an instructor if you have questions. Although they might be busy most instructors want you to be happy with their class and can really give you the details about whether or not the class would be suitable for your goals. Unfortunately school staff or counselors may not have all the detailed industry knowledge you might need to make a decision. 4. Ask about placement rates and about available career counseling and tutoring sessions. 5. Ask about testimonials and references from successful former students. Privacy rules may prohibit the schools from allowing you to contact former students directly but schools often maintain a file of testimonials or they may contact students who might be willing to talk with you. 6. Take a look at examples of student projects that have been completed in the class or program you are interested in. You can often tell much about a program from the quality and proficiency level of the projects that the students are capable of completing. 7. If possible ask to sit in on a class. Even a very brief audit of a class will often give you a fair idea of what kind of instruction you can expect from a class or instructor. 8. Ensure that the classes that you are evaluating are appropriate for your current familiarity with technology. Some classes will be suited to those with limited experience, some will require extensive pre-requisite knowledge. It can be difficult for staff to evaluate your level and technology classes often move very fast. You will not be able to catch up if you are behind from the start. 9. Prior to purchasing a personal computer or software to learn on contact the school to see if they have a recommended hardware/software setup. Often schools will have access to academic or other discounts. Some will even have programs to help you build your own! 10. Be committed to an investment in your future. This isn't easy. If it were everyone would be doing it. Be willing to do the work needed to really understand the class material and it's application. The class itself will only be able to take you so far. For every hour of class count on 2-4 hours of working on projects on your own outside of class.
In these difficult economic times remember that he web is unique because it is often the lowest cost way for businesses to do business. Do you need to communicate with far flung enterprises? - the web is the solution. Need exposure to millions of targeted consumers? - the web is the solution. Need to track customers, inventory and vendors across the globe through a multitude of enterprise level applications? the web is the solution. In this age of cost cutting web development is the technology that will allow business and industry to save the bottom line and stay profitable. Web jobs are here to stay and we are only at the very frontier of the possibilities. I hope to see you in class soon! September 08 New Class: Developing Silverlight 2.0 ApplicationsWell for those of you interested in Silverlight it looks like I might have a new Silverlight class. Now we just need to get enough people interested and signed up. I've posted the details of this class at TeachStreet.com . It's called Developing Silverlight 2.0 Applications . I've also posted the class on Craigslist at: Developing Silverlight 2.0 Applications . Similar classes in other regions (there are no other classes currently here in the NW) at the same level and the same hours are going for $1800 to $2500 per person! Please contact me for details. Below is a revised, detailed syllabus of what I propose covering.
Developing Silverlight Applications is a 24 hour course that focuses on Silverlight Development with the latest version 2.0 and integration with the .Net environment and Visual Studio 2008. This workshop will cover Silverlight extensively and include such advanced topics as isolated storage, using managed code in a client side environment and html/JavaScript and Silverlight integrations. The goal of this course is to provide web application developers with the knowledge and skills they need to utilize the Silverlight platform to its fullest. Additionally this course will cover the basics of Microsoft’s Expression Studio, which provides the tools needed to build great Silverlight UI's. Although this is a developer-focused course with an emphasis on architecture, coding practices, and Visual Studio 2008, designers seeking a deeper knowledge of Silverlight will find the course helpful as well. Duration and Format
Syllabus
Intro to Silverlight 1. Creating Silverlight Objects 2. Events 3. XAML object model 4. Downloading images and videos
Fundamentals of XAML 1. Layout and Positioning 2. Shapes, Brushes, Text and Images 3. Transformations and animations (Expression Blend)
Silverlight Basic Controls 1. Layout Controls 2. Buttons, List Boxes etc. 3. Control Templates
Custom Controls 1. Reusable Styles 2. Creating Dynamic Controls 3. Deep Zoom Silverlight 2.0 Managed Code Integration 1. Isolated storage 2. Bridging JavaScript/DOM with managed code 3. Visual State Manager 4. Proxies and Deploying Silverlight Applications
Handling Data in Silverlight 1. Data Binding 2. Web Services- Soap and REST 3. XML Read/Write 4. Consuming RSS feeds 5. Application Timers
Languages Covered C#, XML, XHTML, JavaScript Prerequisites Persons who attend Developing Silverlight 2.0 Applications should have experience building .NET applications and should be comfortable with the C# programming language, JavaScript, XML, and XHTML. September 02 Great cheat sheets for beginning developersI just came across this site, Added Bytes that has compiled free cheat sheets for JavaScript Functions and Methods, XMLHttpRequest, JavaScript/HTML, Regular Expressions, and Event Handlers. There are also other sheets for HTML, CSS and PHP. These can be very useful as a desktop reference or even for a review before a technical interview or whiteboard session. Many thanks to Dave Child for his hard work in putting together this incredibly helpful tool! August 22 10 tips to becoming an entry level web developerIn my 12 years as a web developer and a tech teacher I have seen many people successfully make the transition from student to professional web developer. There seems to be several common threads that connect the success stories. But before I launch into that perhaps I should define a little better what I'm referering to when I talk about becoming a web developer. There are so many related terms and technologies that are employed in different contexts that it can be difficult to define a common frame of reference. For example is a flash developer a web developer? What about someone who builds C# web services? Obviously both produce work that ultimately is output in some fashion to the web. But in my mind a web developer is somewhere in the middle (that's not to say that a rare few couldn't do both). In my mind a Web designer works with Photoshop, Dreamweaver, knows CSS (beginning level), HTML, and perhaps Flash. A web programmer knows one or more of these: C#, PHP, JSP, C++, Java, Web Services, perhaps IIS (Apache, Tomcat etc.), SQL, as well as A framework such as ASP.Net, J2ee, Rails etc. You might also define even another category for those content or media specialists that create interactive content such as Flash or Silverlight controls. A web developer should be able to cover the gaps between these mulitple disciplines. In other words a Web Developer is the bridge between the middle tier (business + data layers) and the user interface of a web application. Typical skills and applications would be HTML, CSS (Advanced), Javascript/DOM (Advanced), XML, XSLT, AJAX, C#, PHP and/or ASP.Net. Obviously, there are skills that overlap but in my experience in most circumstances you will find that roles within a organization fall into these 3 groups, regardless of what they are called.
Okay with those defintions out of the way, just one more disclaimer- none of the below will work until you've put your time in.What I mean is it's very likely that you'll need to enroll in classes or preferably, an entire program that covers the targetted skills that you'll need to have (see above). Very, very few people have the ability or inclination to learn what's needed entirely on their own- especially these days. Ten years ago html would pretty much get you a job. These days the person asking you "do you wnat fries with that" probably knows html. A solid program of classes will get you up to speed 10 times faster than trying to learn exclusively from the web or books. Tech schools, community colleges, extension programs all often have highly specific programs to get you up to speed. Interestingly enough, I haven't been particularly impressed with the programs espoused by many 4 year colleges. I've taught many classes to students who graduated from a university but didn't have the practical skills to become an entry level web developer. That's not to say that a 4 year degree isn't incredibly valuable, it's just that in a focused tech field, a focused education may be a better route for some. I'm sure that many would disagree, and if we were talking about programming only- I might defer. Additionally, those that make a successful start as web developer will be those that spend many long hours honing their knowledge and skills working on their own. A class is no guarantee that your skills will be up to the needed level to get a job.
Okay now finally, on to the list. Keep in mind that many of these may apply to other fields in the technology arena.
1. Build a resource file. A resource can be as simple as a web browsers favorites folder that contains the urls of all the reference and tutorial sites that you find useful. I keep a folder of code samples as well as docs on interview questions.
2. Practice Interviewing. Especially in fron of a whiteboard. Be able to explain and/or diagram your answers in simple pseudocode. Often the exact syntax isn't as important as understanding the concepts involved in answering a question.
3. Keep using your skills. You paid for them, either in cash or simply in time and effort. Do not let them atrophy! It might take weeks or months to get the position you want. You should be coding nearly every day, or if not you should be reading articles and books related to your field. You will be surprised how quickly you forget syntax and concepts that seem nearly self explanatory now.
4. Leverage existing domain knowledge where possible. Entry into a new career path can be difficult at best. If you have existing knowledge you may be able to apply that knowledge in a new way along with your newly aquired web skills to gain entry into the field. Almost every field from Health to Business has a need for web sites, if you have experience in those fields who would better understand their needs?
5. Learn all you can about who you are interviewing with. As someone who interviews candidates at least once a week, I would expect that they at least have taken a quick look at our site. I would hope that they were somewhat familar with our souce code. I would be impressed if they could come up with a reasonable response to the question: "What do you think we could do to improve our site?".
6. Thoroughly review all job postings to better understand market needs. Remember who writes these postings. It's almost 100% certain that it wasn't the actual developers you'll be working for or with. Most likely they are written by an HR person who doens't understand the distinction between Java and Javascript and thinks that asking for 5 years experience in a 2 year old technology is acceptable. The better you understand the buzzwords the better you'll be able to narrow down the postions you might be suitable for.
7. Track all of your interview questions and their correct answers. Do a crtique of yourself after every interview. If you didn't get the answer right, then find it out! Write everything down as well as any impressions of the interviewer and company you might have. You will likely get the same or similar questions multiple times over many interviews.
8. Build your portfolio. Keep a constantly updated site containing links and screen captures of your best work. This site should be hosted with yor own domain name when possible as this makes your site's url easier to remember and gives it more of professional impression. Always be on the lookout for ways to get experience. Practically everyone knows someone who needs a site. Lawyers, Real Estate Professionals, Dentist, and non profit groups are only a few examples of potential clients who might be willing to use a novice web developer. Some of my former students have even made a decent living from doing just freelance work. Also make sure that your work is impeccable and that the source code id performant, well commented and easy to read. If I interview you for a job- I will absolutlely look at your portfolio examples' source code!
9 Craft your resume carefully. Be sure that you have several people review it before presenting it. Also it never hurts to tailor a few different resume's for different types of jobs- particularly if you have existing domain experience. If, for example you have aerospace experience and the job is for a company heavily involved in that filed, highlight that particular domain knowledge, even if the position is unrelated. The same goes if you have graphic skills or database skills in addition to you newly acquired web knowledge.
10. Develop a network of resources to support your job search. Family, friends, former coworkers, other students all are potential sources of job leads. Social networking sites such as Myspace, Facebook and Twitter are all great places to begin networking. I often see designers looking for devs to partner with as well as small businesses looking for someone to do piece work on their web site. Don't forget to include your instructors in your network. If you haven't spent your class time in the back shooting spitballs, they will probably be more than willing to pass along any leads they get as well as write you a reference. Also think about starting your own blog, you'd be surprised how much credibility you can build when you starting chronicaling what you know. Lastly a supporting network can be helpful in cushioning your ego if you get turned down alot. You have to develop a thick skin and just be able to move forward, this is not the very easiest of fields to break into. Fortunately, it's not rocket surgery either, it's just that not everyone is going to see that you are a diamond in the rough immediately. It might take some time :-).
Well that's about it, comments? I hope this has been helpful to some of you looking to make a change of careers or for your first career! Maybe I'll see you in class sometime :-) Thanks for visiting! This is where you can post class questions or ask other students for input or set up collaborations for projects.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|