170 likes | 292 Views
Real World Experience and Lessons Learned. Jason Iapicco Rowan Computer Science Class of 2006. About Me. B.S. in Computer Science – Rowan University, May 2006 M.S. in Software Engineering – Monmouth University, December 2009 QA Intern – Eastern Research Inc (now Sycamore Networks)
E N D
Real World Experience and Lessons Learned Jason Iapicco Rowan Computer Science Class of 2006
About Me B.S. in Computer Science – Rowan University, May 2006 M.S. in Software Engineering – Monmouth University, December 2009 QA Intern – Eastern Research Inc (now Sycamore Networks) QA Engineer – Vonage Computer Scientist – DoD/US Army
Eastern Research Inc. • Company developed telecommunication hardware and firmware. • QA Intern • Developed two automation tests • Redundancy test of DNX-11 • Redundancy test of DNX-1u • Developed automation software load • Internal website to load any DNX-11 on network.
Vonage Device/QA Engineer Device Group developed phone adapter in coordination with third party companies (Linksys, Motorola, etc). Device Group ran acceptance tests. Developed automation test suite based on existing test cases.
Vonage • No Dial Tone Test • Tests for no dial tone and call completion • 25 phone adapters with 1 line each • Automatic phone dialer • Perl and PHP scripts • Run test • Examine logs • Determine results • Report results • Manage devices
Vonage • On-line Contact Book • Worked with in-house API team • Developed website to support QA testers • Uploaded contacts • Excel File • vCard (electronic business card) • Web page for single contact entry • Delete Contacts • Single/Multiple Contacts • All Contacts
US Army • Advanced Multiplex Test System (AMTS) • Tests helicopter equipment, both on and off the helicopter • Worked on software architecture • Data Asset Manager • Led Database Design • Led XML Schema Design • Wrote software to access and manipulate data assets • Visited customer to run acceptance testing of previous version
US Army • Software Loader Verifier (SLV) • Took over as project lead in October 2010 • Perform administrative tasks for project • Communicate with customers
US Army • Content Acquisition and License Management (CALM) • Run software purchases for my branch • Collect list of wanted software • Get approvals to purchase software • Responsible for alerting project leads of expiring licenses/service contracts
Lessons Learned • Public vs. Private Sector • Public work has more red tape • Funding controlled by congress, need budget to work • “Color” of Money • Two Organizations (in my case) • Redundant training • Private work is controlled by money • Profit has to be maintained • Possible lower salary • Getting laid off is not personal. It’s almost alwat
Lessons Learned • Graduate Work vs. Professional Work • Doing both at the same time is possible • If you wish to go to graduate school, do it right away. If you don’t keep in the rhythm of school, it’s hard to get back into.
Lessons Learned • Changing Technology • Technology changes rapidly • Organizations move at different paces • Keep skills up • Trend is to let go of older employees and bring in younger employees • Cost of training and keeping current employee vs. cost of new employee • “Jack of all trades, master of none, though oftentimes better than master of one” - Geffray Mynshul
Lessons Learned • Management • Management is a lot different than being a developer • Coding – Need to decide what you want to do • Depending on the organization, a lot of paperwork • Manage the process as well as the people • Contractors are a different breed
Lessons Learned • Communication • “The difference between a tolerable programmer and a great programmer is not how many programming languages they know, and it's not whether they prefer Python or Java. It's whether they can communicate their ideas. By persuading other people, they get leverage. By writing clear comments and technical specs, they let other programmers understand their code, which means other programmers can use and work with their code instead of rewriting it. Absent this, their code is worthless.” – Joel Spolsky, Stack Overflow
Lessons Learned • Communication • Need to be able to speak to a group of people • Need to be able to write ideas down with clarity • Need to be able to communicate what code does • Need to be able to understand what is being asked • Don’t be afraid to ask questions
Lessons Learned • Communication • Write a program that prints the numbers 1 to 100. • For multiples of three print “fizz” instead of the number. • For multiples of five, print “Buzz”. • For numbers which are multiples of both three and five, print “FizzBuzz”.