We also define, execute, and monitor social media-based marketing campaigns.We are familiar with several frameworks and platforms based on these languages: SharePoint, Google App Engine, .Net MVC, Cake PHP, Drupel, Joomla, Struts, etc.
Lot’s of opportunity to branch out at an agency
These are the areas where I’m most concerned. While not ignoring any of these dimensions, we will sacrifice some capability of the dimensions in grey if we can maximize the dimensions in orange.There are three software engineering practices that are helpful in maximizing the potential for these three coding activities in orange.
This example is Java code using the JUnit testing harness (http://en.wikipedia.org/wiki/Behavior_driven_development)Encourages reduced coupling and increased cohesion (a measure of how strongly-related and focused the various responsibilities of a software module are).Provides a foundation for regression testing within a continuous-integration process.Test-method naming conventions are always up for debate and are more of a art that science
BDUF = “Big Design Up Front”
Biggest problem with sequential development is the lack of flexibility in change managementOnly really necessary for high-stakes projects with narrowly-focused goals (missile guidance system, financial transaction engine, etc.)
And participate in local meetups + user groups
1 Favorite
Jeff Hilimire, Chief Digital Officer, Engauge at Engauge, favorited this 3 months ago
Georgia State Presentation - Presentation Transcript
Aligning Business and Development Goals Patrick Brandt
2 About Me Senior Developer and Team Lead: As senior developer, I’m responsible architecting and building web-based applications on the .Net platform. As team lead, I’m responsible for defining and articulating production strategies among various stakeholders including interdisciplinary production staff, management, and clients. Earned a Master’s Degree in Computer Science with a focus in Human Computer Interaction from Florida State University in 2004. Lead developer/Team lead for the following sites: RuthsChris.com Georgia.org ExploreGeorgia.org (first phase) GaDreamPass.com FoodLion.com
3 About Enguage Digital Interactive Marketing agency located in Midtown Atlanta (Promenade II building across from the High Museum) We specialize in building applications that establish an online and mobile marketing presence for its clients. Our clients include several Fortune-500 companies such as UPS, Home Depot, and Coca-Cola. Our development capabilities include .Net, Java, PHP, Python, Flash, and Objective-C.
4 Where It All Begins!
5 Client Services
6 Production Staff
7
8 Two Types of Programmers
Communication 9 Translates highly technical jargon into terms less technical clients and management staff can understand. Listens to clients or client representatives and tries to drive-out requirements. Spends a portion of their day corresponding by phone and email. Communicates with a wide array of stakeholders.
Communication 10 Actively solicits information from other developers via online forums (also contributes solutions for other developers). Explains algorithms and development patterns to other developers. Email is a distraction, primary mode of communication is via IM and face-to-face. Specializes in speaking directly to developers and other technical staff.
Problem Solving 11
Looks first to discover how others have already solved similar problems
Trade Articles
Blogs
Often considers how external business factors are impacted by any solution
Budget
Timeline
Client Satisfaction
Problem Solving 12
Looks first to discover how others have already solved similar problems
Trade Articles
Blogs
Often considers how external business factors are impacted by any solution
Budget
Timeline
Client Satisfaction
Might produce copy-cat code that is buggy and inflexible, but returns a higher profit (in the short-run)
Problem Solving 13
Takes initiative to solve problems in novel ways
More interested in how they can build a better solution than others have done in the past
Laser-like focus on solution elegance, stability, and performance
Aims for the best performing solution
Aims for the most flexible solution
Aims for most feature-rich solution
Problem Solving 14
Takes initiative to solve problems in novel ways
More interested in how they can build a better solution than others have done in the past
Laser-like focus on solution elegance, stability, and performance
Aims for the best performing solution
Aims for the most flexible solution
Aims for most feature-rich solution
Might produce technically brilliant solutions that are outrageously over-budget and/or overly complex
Extracurricular activities 15
Reading and writing for fun
Socializing and networking
Coding side-projects
Extracurricular activities 16
Flying airplanes
Online gaming
Coding side-projects
17 What ALL Programmers Need To Know
18 What ALL Programmers Need To Know
19 What ALL Programmers Need To Know Know the dimensions of your code
Brevity of code
Quantity of features
Speed of execution
Time spent coding
Robustness
Flexibility
20 What ALL Programmers Need To Know Know the dimensions of your code
Brevity of code
Quantity of features
Speed of execution
Time spent coding
Robustness
Flexibility
21 Domain Driven Design
22 Domain Driven Design
Test-Driven Development Write a Unit Test before new feature is coded (test will fail because code will not compile) Write minimum amount of code to get project to compile (test will fail because test conventions have not been met) Write minimum amount of code to ensure test will pass Repeat for new feature 23
Test-Driven Development 24
Development Strategies Waterfall (BDUF) Iterative 25
Waterfall 26
The Agile Manifesto Individuals and interactionsover processes and tools Working softwareover comprehensive documentation Customer collaborationover contract negotiation Responding to changeover following a plan 27
The Agile Process Working Software is released every few weeks. Development pace is constant. Simplicity; maximizing work not done is essential. Developers work consistently with customers and business managers. Self-organizing teams meet project needs better than orchestration. Discussions, decisions, and plans are made face-to-face. 28
0 comments
Post a comment