Free technology how to increase your marketability
Download
1 / 15

Free Technology – How to Increase your Marketability - PowerPoint PPT Presentation


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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

  • Hiring: what the heck are they looking for?!?


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.)


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.)


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


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


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


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


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


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


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


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)


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


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)


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.


ad
  • Login