1 / 15

Free Technology – How to Increase your Marketability

Free Technology – How to Increase your Marketability. Development Track Patrick El-Azem Principal Consultant, Net Gain Solutions LLC. Agenda. Audience and Goals Tools The Foundation: IDEs Adding On: Good Tools to have Branching Out: Beyond “Just Code” Learning Resources

Patman
Download Presentation

Free Technology – How to Increase your Marketability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Free Technology – How to Increase your Marketability Development Track Patrick El-Azem Principal Consultant, Net Gain Solutions LLC

  2. Agenda • Audience and Goals • Tools • The Foundation: IDEs • Adding On: Good Tools to have • Branching Out: Beyond “Just Code” • Learning Resources • Hiring: what the heck are they looking for?!?

  3. Audience and Goals • Audience • Entry-Level through Mid-Level Developers • General-Purpose Software Development (i.e. not Embedded, iPhone, etc.) => free tools • Goals • Review free tools available across platforms • Review free learning resources • Non-Goals / Non-Topical • “Soft” skills • Domain knowledge (e.g. UML, Agile, etc. etc.)

  4. Tools – IDEs - 1 • The Foundation: IDEs • IDE = “Integrated Development Environment” • Offers capabilities like syntax assistance, debugging, build, and much more • Can be multi-language / multi-framework • Major Technology Domains: • Microsoft .NET (VB.NET, C#, F#) • Java, C/C++ • Dynamic Languages (JavaScript, Ruby, PHP, Python, etc.)

  5. Tools – IDEs - 2 • Microsoft: Visual Studio 2008 Express • Visual Studio 2008 Express; C#, VB.NET, Web, C++ • www.microsoft.com/express/download/ • Limited capabilities; full version is Visual Studio 2008 for $$-$$$ (3-month trial versions avl. though) • SharpDevelop • Open-Source Microsoft-compatible IDE; C#, VB, Boo • www.icsharpcode.net/OpenSource/SD/ • Includes excellent 3rd-pty add-on tools • Capabilities exceed Visual Studio Express

  6. Tools – IDEs - 3 • Eclipse: Java, PHP, Ruby, Python, and more • www.eclipse.org • Cross-platform, multi-language, extensible • Many add-ons avl.; e.g. Google “Eclipse Ruby” • NetBeans: Java, PHP, Ruby, Python, and more • www.netbeans.org • Cross-platform, multi-language

  7. Tools – Adding On - 1 • Unit Testing (TDD!!) • Why use? Developer = first responsibility for quality! • .NET: nUnit (www.nunit.org), xUnit (xunit.codeplex.com) • Java: jUnit (www.junit.org) • Many, many more avl.; these are general-purpose

  8. Tools – Adding On - 2 • Source Code Control • Why use? History, rollback, concurrency mgmt. • Subversion Server & Client: subversion.tigris.org (if you set up your own server, be sure to read tinyurl.com/68hdb9) • Server with GUI: VisualSVN (www.visualsvn.com) • More avl. (CVS, Git, etc.) but Subversion is easy, cross-platform, low learning curve • Read up on “TTB” and learn how to tag, branch, and merge

  9. Tools – Adding On - 3 • Analysis • Why use? Check your code against rule bases of “best practices”, look for problem patterns. • FxCop: .NET static analysis tool; tinyurl.com/dm5fp8 • StyleCop: .NET code style analysis tool; tinyurl.com/5rzmqa • Gendarme: .NET/Mono static analysis tool; tinyurl.com/a2o2ec • Many more tools: tinyurl.com/y25zj3

  10. Tools – Adding On - 4 • Build • Why use? Automate build processes that include more than just “compile code” – copy files, call ext. executables, etc. • .NET: Nant (www.nant.org) • Java: Ant (ant.apache.org) • Coverage • Why use? Determine how much code is “covered” by unit tests; gauge code complexity • .NET: PartCover (sourceforge.net/projects/partcover) • Java: see java-source.net/open-source/code-coverage

  11. Tools – Branching Out - 1 • Database • Good competencies: database design/normalization, query writing, index design, execution plan tuning • Microsoft SQL Server 2008 Express (tinyurl.com/69a3uh) • MySQL Community Server; also included in some OSes and IDEs (dev.mysql.com/downloads) • PostGreSQL (www.postgresql.org) • IDEs typically have pluginsavl. for database management, or DBs come with management UI

  12. Tools – Branching Out - 2 • Web Frameworks • jQuery: JavaScript library (www.jquery.com) • Microsoft Ajax Control Toolkit (www.asp.net/ajax) • Microsoft ASP.NET MVC (www.asp.net/mvc) • Ruby on Rails (www.rubyonrails.org) • Frameworks • Microsoft Web Platform Installer (tinyurl.com/bgpsj9) • LAMP Stack Installer (tinyurl.com/5x2kr)

  13. Tools – Branching Out - 3 • Object-Relational Mappers • Why use? Simplify OO/DB development • Subsonic (www.subsonicproject.com) – fast, easy to learn • Hibernate (www.hibernate.org) – powerful, complex

  14. Learning Resources • MSDN Learning Center – enormous resources; tinyurl.com/54fut6 • Microsoft Thrive - tinyurl.com/mmsaeu • Ruby on Rails; wiki.rubyonrails.org/start • Java; java.about.com • Much more online: Google specifics (language + topic)

  15. Hiring • Perspective: Hiring Manager • Companies and cultures vary! Also, right now hiring is “risky”. Don’t despair. • My experience: our best hires = self-motivated, passionate over resume alphabet-soup • Be willing to freelance, tackle small projects, do pro bono • Show ability to try new tech, apply to business problems • Prototype – show source – bring screenshots or some sort of demo; show eagerness. Free/open-source = “you’ll save me money”. Pragmatism > Dogma. • Blog interesting stuff you do/try – and put blog on resume • Use LinkedIn – update it, post status updates; join groups like LIDNUG, Scrum Club, etc. • Think on your feet – don’t be afraid to ask questions – and use the whiteboard instead of freezing! We want to see you think, not see someone who “knows everything”. • Network! Go to SwANH events, Chamber of Commerce events (e.g. www.ecoast.org), Professionals groups (e.g. www.mypn.org, www.catapult.org) etc. Get (good!) business cards (free @ VistaPrint.com), elevator pitch.

More Related