This document provides information about the author's background and experience in development. It then discusses projects completed at SCPS and tools used. Key points about the current state of development are outlined, followed by the "three pillars" of development: degree, experience, and certifications. Important skills, languages, and career path/timeline are recommended. The future of development is also briefly discussed.
2. My Background
• AS in Computer Engineering, BS in Computer
Information Systems, MS in Information Systems
• CCNA and A+ Certifications
• 8 years as a Sysadmin/Network Admin at small ISP
• 5 years as a Programmer I/II at Daytona State College
• 3 years as a Sr. Software Developer with SCPS
• Fluent in 22 programming languages
3. SCPS Development Projects
• Campus Scheduling
• Data Scrubber
• Dual Enrollment
• Check-in/Check-out
• Summer School
• WakeOnLAN
• Student Import
• Summer School
• Grants (Testing)
• Internship (TBD)
4. Tools We Use
• Visual Studio Professional/Ultimate
• SQL Server
• DB Visualizer
• Notepad++/UltraEdit
• Crystal Reports
• FileZilla
• Adobe Suite
5. Current State of Development
• High demand for those with education and expertise.
• High entry-level salary.
• Opportunities in multitudes of languages.
• Employers ranging from start-ups to Fortune 500
corporations.
• Perks are the highlight for developers right now,
more so than salary.
• Plenty of opportunities for contract work, even
overseas.
• Movement towards DevOps.
6. The Three Pillars of Development
• Pillar 1: Degree
• Don’t just focus on Computer
Science.
• Pillar 2: Experience
• You can never have too much.
• Pillar 3: Certifications
• Nice, but not necessary.
7. Pillar 1: Degree
• Absolute must-have for today’s workforce.
• Shift from Computer Science to Information Systems.
• Focus major on your career goal, minor in a backup
career goal.
• Take extra classes in networking and healthcare
informatics.
• Supplement your book knowledge with practical
experience.
8. Pillar 2: Experience
• You can never have too much experience.
• Seek out internships whenever possible.
• Practical real-world applications matter more than
classwork/labwork.
• Work in a team whenever possible.
• Do research on various software development
methodologies and practice them in your
development (SCRUM, Agile, Waterfall).
9. Pillar 3: Certifications
• Database Certifications: Oracle Certified Professional;
Microsoft SQL Certifications (MCSE, MCSA, MTA);
MongoDB Certified DBA/Developer
• Programming Certifications: Microsoft Certified
Solutions Developer (MCSD); Adobe Certified Expert
(ACE) for Developers; Google Apps for Business
Certified Deployment Specialist
• Alternative Certifications: Cisco Certified Design
Associate; Certs for your language
10. Important Skills to Learn
• Databases.
• Learn as soon as possible.
• Time/project management.
• Learn from open-source software (OSS).
• Organizational skills.
• Messy desks are fine, messy minds aren’t.
• Collaboration/communication.
• Work with a team, learn how to talk non-techie.
• Invest in cheap/free tools.
• Raspberry Pi, free Microsoft development studios, DreamSpark.
11. Important Languages to Learn
Language % Use Base Lang.
C 16.5 C
Java 15.3 C
C++ 6.6 C
Objective-C 6.0 C
C# 5.7 C
JavaScript 3.5 C
PHP 3.2 C
Python 2.9 C
Visual Basic .NET 2.0 BASIC
Visual Basic 1.7 BASIC
Language % Use Base Lang.
Delphi 1.6 Pascal
Perl 1.4 C
PL/SQL 1.3 Datalog
F# 1.2 C
Transact-SQL 1.1 Datalog
ABAP 1.0 COBOL
MATLAB 1.0 C
R 1.0 C/Fortran
Pascal 1.0 Fortran
Ruby 0.9 C
12. How to Get Started/Career Path
• Get experience early.
• Get the degree.
• Continuously learn.
• Network with your peers and mentors.
• Set a goal timeline.
13. Experience
• Start volunteer work ASAP.
• Get an internship or volunteer with community
organizations.
• SCPS offers internship opportunities.
• Join in on other internship/job fairs.
• Ask outreach organizations if they need computer help.
• Build your resume/portfolio NOW. Add
apps/websites/other work as you complete it.
• Community/Work Projects > Personal Projects > School
Projects.
14. Degree
• Unless you are trying to create/join
a start-up, you’re unemployable
without a bachelor’s degree at a
minimum.
• Demand for developers is high, but
supply is high.
• Don’t narrow your focus when a
general degree will work.
• Remember that “book code” and
“real code” are different. Read for
understanding of how to apply to a
real-life scenario.
15. Continuously Learn
• Religiously perform “hour of
code” every night.
• Get app ideas from your
family, and then try and code
it.
• Program for games (WoW,
Minecraft, Skyrim, Steam
Workshop, Unreal engine,
Unity engine).
• Invest in cheap hardware for
programming against
(Raspberry Pi).
• Never turn down
constructive criticism.
16. Network With Peers and Mentors
• Internship!
• Help out on an Open Source
project.
• Join Codeplex and Stack
Overflow and offer tips,
suggestions, solutions, or just
lurk for knowledge.
• Find a mentor, either online or
physical. The mentor needs to
be active in the field, not
necessarily a teacher.
17. Goal Timeline
• Now: Learn databases. Take a DBA certification test
in college.
• College Sophomore: Develop your own website.
• College Junior: Learn at least 3 languages.
• C/C++
• Java (derivative of C)
• Language of choice for your industry.
• Swift/Go/Java for mobile.
• C#/Java/Python for desktop.
• C#/Ruby/PHP for web.
18. Future of Development
• Startups will rise and fall, with the occasional buyout.
• 93% of all startups fail within 5 years.
• Mobile expansion, but never dominance.
• Everyone wants to be the next Notch (of Mojang fame, Minecraft).
Game development is not the be-all, end-all!
• Databases continue to thrive and expand. Every bit of data is stored
in a database.
• Cross-discipline workers. The networker who can code, the
programmer who can network. Be prepared to wear many hats.
DevOps is the buzzword of tomorrow!
• Be prepared to compete on international level.
• Time-destructive code.
• Less and less focus on certifications, more and more focus on
degrees.
19. Final Words
• Failure is an option, and a good learning experience.
• You learn far more from a good failure than a
mediocre success.
• Accept the constructive criticism and improve your
development for the future.
• Never be afraid to go into uncharted territory.
• Never turn down an opportunity to learn something
new.
• Never give up, never surrender!