Your SlideShare is downloading. ×
0
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Free Technology – How to Increase your Marketability
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Free Technology – How to Increase your Marketability

266

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
266
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Free Technology – How to Increase your Marketability Development Track Patrick El-Azem Principal Consultant, Net Gain Solutions LLC
  • 2. Agenda <ul><li>Audience and Goals </li></ul><ul><li>Tools </li></ul><ul><ul><li>The Foundation: IDEs </li></ul></ul><ul><ul><li>Adding On: Good Tools to have </li></ul></ul><ul><ul><li>Branching Out: Beyond “Just Code” </li></ul></ul><ul><li>Learning Resources </li></ul><ul><li>Hiring: what the heck are they looking for?!? </li></ul>
  • 3. Audience and Goals <ul><li>Audience </li></ul><ul><ul><li>Entry-Level through Mid-Level Developers </li></ul></ul><ul><ul><li>General-Purpose Software Development (i.e. not Embedded, iPhone, etc.) => free tools </li></ul></ul><ul><li>Goals </li></ul><ul><ul><li>Review free tools available across platforms </li></ul></ul><ul><ul><li>Review free learning resources </li></ul></ul><ul><li>Non-Goals / Non-Topical </li></ul><ul><ul><li>“ Soft” skills </li></ul></ul><ul><ul><li>Domain knowledge (e.g. UML, Agile, etc. etc.) </li></ul></ul>
  • 4. Tools – IDEs - 1 <ul><li>The Foundation: IDEs </li></ul><ul><ul><li>IDE = “Integrated Development Environment” </li></ul></ul><ul><ul><li>Offers capabilities like syntax assistance, debugging, build, and much more </li></ul></ul><ul><ul><li>Can be multi-language / multi-framework </li></ul></ul><ul><ul><li>Major Technology Domains: </li></ul></ul><ul><ul><ul><li>Microsoft .NET (VB.NET, C#, F#) </li></ul></ul></ul><ul><ul><ul><li>Java, C/C++ </li></ul></ul></ul><ul><ul><ul><li>Dynamic Languages (JavaScript, Ruby, PHP, Python, etc.) </li></ul></ul></ul>
  • 5. Tools – IDEs - 2 <ul><li>Microsoft: Visual Studio 2008 Express </li></ul><ul><ul><li>Visual Studio 2008 Express; C#, VB.NET, Web, C++ </li></ul></ul><ul><ul><li>www.microsoft.com/express/download/ </li></ul></ul><ul><ul><li>Limited capabilities; full version is Visual Studio 2008 for $$-$$$ (3-month trial versions avl. though) </li></ul></ul><ul><li>SharpDevelop </li></ul><ul><ul><li>Open-Source Microsoft-compatible IDE; C#, VB, Boo </li></ul></ul><ul><ul><li>www.icsharpcode.net/OpenSource/SD/ </li></ul></ul><ul><ul><li>Includes excellent 3 rd -pty add-on tools </li></ul></ul><ul><ul><li>Capabilities exceed Visual Studio Express </li></ul></ul>
  • 6. Tools – IDEs - 3 <ul><li>Eclipse: Java, PHP, Ruby, Python, and more </li></ul><ul><ul><li>www.eclipse.org </li></ul></ul><ul><ul><li>Cross-platform, multi-language, extensible </li></ul></ul><ul><ul><li>Many add-ons avl.; e.g. Google “Eclipse Ruby” </li></ul></ul><ul><li>NetBeans: Java, PHP, Ruby, Python, and more </li></ul><ul><ul><li>www.netbeans.org </li></ul></ul><ul><ul><li>Cross-platform, multi-language </li></ul></ul>
  • 7. Tools – Adding On - 1 <ul><li>Unit Testing (TDD!!) </li></ul><ul><ul><li>Why use? Developer = first responsibility for quality! </li></ul></ul><ul><ul><li>.NET: nUnit ( www.nunit.org ), xUnit ( xunit.codeplex.com ) </li></ul></ul><ul><ul><li>Java: jUnit ( www.junit.org ) </li></ul></ul><ul><ul><li>Many, many more avl.; these are general-purpose </li></ul></ul>
  • 8. Tools – Adding On - 2 <ul><li>Source Code Control </li></ul><ul><ul><li>Why use? History, rollback, concurrency mgmt. </li></ul></ul><ul><ul><li>Subversion Server & Client: subversion.tigris.org (if you set up your own server, be sure to read tinyurl.com/68hdb9 ) </li></ul></ul><ul><ul><li>Server with GUI: VisualSVN ( www.visualsvn.com ) </li></ul></ul><ul><ul><li>More avl. (CVS, Git, etc.) but Subversion is easy, cross-platform, low learning curve </li></ul></ul><ul><ul><li>Read up on “TTB” and learn how to tag, branch, and merge </li></ul></ul>
  • 9. Tools – Adding On - 3 <ul><li>Analysis </li></ul><ul><ul><li>Why use? Check your code against rule bases of “best practices”, look for problem patterns. </li></ul></ul><ul><ul><li>FxCop: .NET static analysis tool; tinyurl.com/dm5fp8 </li></ul></ul><ul><ul><li>StyleCop: .NET code style analysis tool; tinyurl.com/5rzmqa </li></ul></ul><ul><ul><li>Gendarme: .NET/Mono static analysis tool; tinyurl.com/a2o2ec </li></ul></ul><ul><ul><li>Many more tools: tinyurl.com/y25zj3 </li></ul></ul>
  • 10. Tools – Adding On - 4 <ul><li>Build </li></ul><ul><ul><li>Why use? Automate build processes that include more than just “compile code” – copy files, call ext. executables, etc. </li></ul></ul><ul><ul><li>.NET: Nant ( www.nant.org ) </li></ul></ul><ul><ul><li>Java: Ant ( ant.apache.org ) </li></ul></ul><ul><li>Coverage </li></ul><ul><ul><li>Why use? Determine how much code is “covered” by unit tests; gauge code complexity </li></ul></ul><ul><ul><li>.NET: PartCover ( sourceforge.net/projects/partcover ) </li></ul></ul><ul><ul><li>Java: see java-source.net/open-source/code-coverage </li></ul></ul>
  • 11. Tools – Branching Out - 1 <ul><li>Database </li></ul><ul><ul><li>Good competencies: database design/normalization, query writing, index design, execution plan tuning </li></ul></ul><ul><ul><li>Microsoft SQL Server 2008 Express ( tinyurl.com/69a3uh ) </li></ul></ul><ul><ul><li>MySQL Community Server; also included in some OSes and IDEs ( dev.mysql.com/downloads ) </li></ul></ul><ul><ul><li>PostGreSQL ( www.postgresql.org ) </li></ul></ul><ul><ul><li>IDEs typically have plugins avl. for database management, or DBs come with management UI </li></ul></ul>
  • 12. Tools – Branching Out - 2 <ul><li>Web Frameworks </li></ul><ul><ul><li>jQuery: JavaScript library ( www.jquery.com ) </li></ul></ul><ul><ul><li>Microsoft Ajax Control Toolkit ( www.asp.net/ajax ) </li></ul></ul><ul><ul><li>Microsoft ASP.NET MVC ( www.asp.net/mvc ) </li></ul></ul><ul><ul><li>Ruby on Rails ( www.rubyonrails.org ) </li></ul></ul><ul><li>Frameworks </li></ul><ul><ul><li>Microsoft Web Platform Installer ( tinyurl.com/bgpsj9 ) </li></ul></ul><ul><ul><li>LAMP Stack Installer ( tinyurl.com/5x2kr ) </li></ul></ul>
  • 13. Tools – Branching Out - 3 <ul><li>Object-Relational Mappers </li></ul><ul><ul><li>Why use? Simplify OO/DB development </li></ul></ul><ul><ul><li>Subsonic ( www.subsonicproject.com ) – fast, easy to learn </li></ul></ul><ul><ul><li>Hibernate ( www.hibernate.org ) – powerful, complex </li></ul></ul>
  • 14. Learning Resources <ul><li>MSDN Learning Center – enormous resources; tinyurl.com/54fut6 </li></ul><ul><li>Microsoft Thrive - tinyurl.com/mmsaeu </li></ul><ul><li>Ruby on Rails; wiki.rubyonrails.org/start </li></ul><ul><li>Java; java.about.com </li></ul><ul><li>Much more online: Google specifics (language + topic) </li></ul>
  • 15. Hiring <ul><li>Perspective: Hiring Manager </li></ul><ul><ul><li>Companies and cultures vary! Also, right now hiring is “risky”. Don’t despair. </li></ul></ul><ul><ul><li>My experience: our best hires = self-motivated, passionate over resume alphabet-soup </li></ul></ul><ul><ul><li>Be willing to freelance, tackle small projects, do pro bono </li></ul></ul><ul><ul><li>Show ability to try new tech, apply to business problems </li></ul></ul><ul><ul><li>Prototype – show source – bring screenshots or some sort of demo; show eagerness. Free/open-source = “you’ll save me money”. Pragmatism > Dogma. </li></ul></ul><ul><ul><li>Blog interesting stuff you do/try – and put blog on resume </li></ul></ul><ul><ul><li>Use LinkedIn – update it, post status updates; join groups like LIDNUG, Scrum Club, etc. </li></ul></ul><ul><ul><li>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”. </li></ul></ul><ul><ul><li>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. </li></ul></ul>

×