Life as Software Engineer Dr. Jeyakesavan Veerasamy University of Texas at Dallas

Slides:



Advertisements
Similar presentations
E-Science Data Information and Knowledge Transformation Thoughts on Education and Training for E-Science Based on edikt project experience Dr. Denise Ecklund.
Advertisements

Complex Systems Applications Dr. Jeyakesvan Veerasamy The University of Texas at Dallas, USA Good morning!
Evolution of Telecom Software Perspectives from a Software Engineer Dr. Jey Veerasamy.
Higher studies, Jobs & Trends in Computer Science in USA Dr. Jeyakesavan Veerasamy
Welcome to C++ Programming Workshop at The University of Texas at Dallas Presented by John Cole July 8-12, 2013.
Advanced Java and Android Introduction Prof. John Cole Senior Lecturer The University of Texas at Dallas.
Advanced Java Concepts Dr. Jeyakesavan Veerasamy
VoipNow Core Solution capabilities and business value.
Department of Mathematics and Computer Science
CSS:10mar05Slide 1 Being a University Professor Skip Poehlman Associate Professor Computing & Software Department McMaster University Hamilton, Ontario.
Fairmount College of Liberal Arts and Sciences Department of Mathematics & Statistics Mission The mission of the undergraduate program in Mathematics and.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Modern Software Development Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Computer Science 162 Section 1 CS162 Teaching Staff.
1 CMSC 132: Object-Oriented Programming II Software Development I Department of Computer Science University of Maryland, College Park.
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Final year projects, Higher studies, Jobs & Software Trends in USA Dr. Jeyakesavan Veerasamy
Business of Online Education in USA Dr. Jeyakesavan Veerasamy
Dr. V. Jeyakesavan: Academia, Industry & Personal Dad was a school teacher B.E. (ECE) in CEG Guindy, Anna University – UNIX System Software Engineer,
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
Aiding intelligent next-gen systems with mobile applications Dr. Jeyakesavan Veerasamy University of Texas at Dallas Note: Almost all.
Online Education is the future? Dr. Jeyakesavan Veerasamy The University of Texas at Dallas, USA.
Data Warehousing: Defined and Its Applications Pete Johnson April 2002.
CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Automated Evaluation of Regular Lab Assignments: A Bittersweet.
Future of Online Education in USA
A Primer on Jobs in Industry Nitin Jindal Department of Computer Science University of Illinois at Chicago.
Current trends in usage of Smart-phones in USA Dr. Jeyakesavan Veerasamy Director of Senior Design projects & Sr. Lecturer University of Texas at Dallas.
Software Development – Thoughts & observations Dr. Jeyakesavan Veerasamy
Research Scholars: Shaping your future Dr. Jeyakesavan Veerasamy University of Texas at Dallas
Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy
Occupational Career Project By Jimmy Evans. I want to pursue a career in computer engineering. Specifically something in computer software. I think a.
C++ Workshop Introduction Prof. John Cole. Schedule Day 1: Setting up. Language basics. Day 2: Arrays and Pointers Day 3: Functions, Recursion, Algorithms.
Welcome to KGiSL Institute of Technology (KITE)! Dr. V. Jeyakesavan University of Texas at Dallas, USA
The Erik Jonsson School of Engineering and Computer Science Ph.D. in CS/SE at UTD Balaji Raghavachari Department of Computer Science University of Texas.
Hello! Dr. Jeyakesavan Veerasamy CS faculty, The University of Texas at Dallas Website:
Virtual learning for Management education Dr. Jeyakesavan Veerasamy
Computer Careers Dr. Kip Irvine School of Computing and Information Sciences, Florida International University.
Software Reliability: The “Physics” of “Failure” SJSU ISE 297 Donald Kerns 7/31/00.
Latest trends in Global Software Industry Dr. Jeyakesavan Veerasamy
CS110/CS119 Introduction to Computing (Java)
by Marc Comeau. About A Webmaster Developing a website goes far beyond understanding underlying technologies Determine your requirements.
Graduate Programs in Dept of Computer Science Univ. of Texas at San Antonio Dr. Weining Zhang.
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
Software Industry – Historical View Dr. Jeyakesavan Veerasamy University of Texas at Dallas
Wook-Sung Yoo, Ph.D. Software Engineering Program Fairfield University
August 01, 2008 Performance Modeling John Meisenbacher, MasterCard Worldwide.
Role of IT in management Dr. Jeyakesavan Veerasamy
KFUPM-COE Industrial Advisory Council Meeting 31/5/ Department of Computer Engineering (COE) College of Computer Sciences and Engineering (CCSE)
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
The Erik Jonsson School of Engineering and Computer Science Dissertation and beyond: Ph.D. in CS/SE at UTD Dr. Balaji Raghavachari Department of Computer.
VENDORS, CONSULTANTS AND USERS. WHY CAN’T COMPANIES DEVELOP THEIR OWN ERP PACKAGES? To develop an ERP package is a complex & time consuming activity which.
Unit 22 People in Computing
ACHIEVEMENTS Spring 2013 Employee Development Mark Zocher.
Final Year Projects Dr. Jeyakesavan Veerasamy Director of CS Senior Design Program University of Texas at Dallas, USA
Passionate Programming & IT trends Dr. Jeyakeavan Veerasamy The University of Texas at Dallas, USA Web:
PERFORMANCE AND ANALYSIS WORKFLOW ISSUES US ATLAS Distributed Facility Workshop November 2012, Santa Cruz.
If you have a transaction processing system, John Meisenbacher
Software Design and Development Development Methodoligies Computing Science.
MASS Java Documentation, Verification, and Testing
Project Workflow.
Software What Is Software?
Computer Science: Research and Outreach
Graduate Development Program Engineering
Software Defined Networking (SDN)
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
All About Android Prof. John Cole Senior Lecturer
Programming.
SOFTWARE DEVELOPMENT LIFE CYCLE
Presentation transcript:

Life as Software Engineer Dr. Jeyakesavan Veerasamy University of Texas at Dallas

Agenda Introduce myself Software Engineer: Good & Bad Software: Then & Now SW development environment options SW Efficiency – does it matter? Latest buzz Trends in CS education Open Q&A

Dr. V. Jeyakesavan: Academia, Industry & Personal Dad was a school teacher B.E. (ECE) in CEG Guindy, Anna University – UNIX System Software Engineer, HCL Limited, Chennai, MS Computer Science, University of Texas at Dallas (UTD),

Dr. V. Jeyakesavan: Academia, Industry & Personal … Telecom Software Engineer, Northern Telecom, Dallas, Ph.D. Computer Science (part-time), University of Texas at Dallas (UTD), Technical Lead, Samsung Telecom, Got married in 1998 Adjunct Faculty, UTD CS department, Online Adjunct Faculty in several online universities from 2000

Dr. V. Jeyakesavan: Academia, Industry & Personal … Adjunct Faculty, Southern Methodist University, 2010 Sr. Lecturer (full-time), UTD Computer Science, 2010-present 2 daughters: Nila (8) and Chinmayee (4) Passionate about teaching – happy to share ideas to improve teaching quality in colleges

Dr. V. Jeyakesavan: Summary 18 years experience as Software Engineer 12 years of teaching experience

“Software Engineer” career Great pay! All about logical thinking! Consistently one of the best jobs ! Focus on technical stuff Stay out of politics! Tight deadlines Continuous learning Logical errors Documentation (painful?)

“Software Engineer” career Technical ladder vs. Management ladder Development vs. Test vs. Project management work in big company vs. startup

Complexity of software projects: historical snippets Ad-hoc development model Waterfall model – slow & unpredictable – heavy documentation effort – cost overruns & missed deadlines

My experience with huge SW projects (Waterfall model) Period of instability collisons during merge product delays Is it good enough to release?

Documentation: little vs heavy

flowchart vs. pseudocode

Version control system Enables development by a team of designers

Agile process

Agile methods Limited documentation Better tracking of current status Frequent releases Continuous interaction with the customer Several refinements: XP, SCRUM, …

A typical industry project in 1990 C standard library Home-grown library New code

Same industry project NOW C++/Java standard library Home-grown library Open source components Commercial libraries for industry segment IDE modules New code Follow-up Q: Any disadvantages?

More Questions Expert programmer: what does it mean? Future projects: No code? Just integration? Knowledge of Java/C++/… down the drain?

Application Specific Programming M1M2M3 Intrepreter Mn script … …

Visual Programming Use of visual tools for development, process and testing

Testing 100% testing possible? 100% testing: is it needed? Code coverage tools Automated sanity testing

Software efficiency: Do we really care? Goal is to make software work & meet deadline for most industry projects. Game console: Algorithm takes longer to run  requires higher-end CPU to keep realism  higher price  product fails amid competition Web-server: Algorithm takes longer to run (consider 5 seconds vs. 20 seconds)  tests web-users’ patience & requires more web server capacity. Daily data crunching: What if it takes >1 day?

Data crunching pseudocode initial setup loop – read one tuple – open db connection – send request to db – get response from db – some processing – close db post-processing

Data crunching pseudocode initial setup loop – read one tuple – open db connection – send request to db – get response from db – do some processing – close db post-processing Equation for running time = c 1. n + d 1 Time complexity is O(n)

Data crunching pseudocode initial setup open db connection loop – read one tuple – send request to db – get response from db – do some processing close db post-processing

Data crunching pseudocode initial setup open db connection loop – read one tuple – send request to db – get response from db – some processing close db post-processing Equation for running time = c 2. n + d 2 Time complexity is still O(n), but the constants are different. c 2 < c 1 d 2 > d 1

Concepts: BHCA capacity Busy Hour Call Attempts 1 Million BHCA  central processor should spend < 2.5 milli-second per call (assuming 70% load) Managing BHCA is a “system engineering” activity, done in every software release. Per-call measurements & optimization

Capacity issues 2 types of nodes: – control nodes – transaction processing – CPU load can vary a lot (>60% load is a concern). Use watch- dog timers that automatically reset the node if 100% sustained CPU load is seen. – traffic nodes – actual traffic processing – can safely operate at 90% CPU load Power of Trending

Handling Overload Overload can occur during mega-events or new years day Similar to “Denial of Service” attack Need to shed call requests with minimal effort. Goal is to handle as many requests as possible in reliable manner.

Redundancy Is it for hardware or software? Control nodes: Active/Standby redundancy Traffic nodes: N+1 redundancy Load sharing algorithm? Round-robin or load-balancing Leaky bucket? …

Interesting SW bugs Look at the following code: if (sector_id = 1) … Send call setup message to ALPHA Lab tested the code in alpha sector. What happens when this code is applied to field?

Blocking printf() Debug port used for logs printf() was used to output messages – cannot use break points due to timers CDMA works based on GPS time Timing drift is not good for soft handoffs  handoff failures More time spent in printf()  less time in actual call processing  less capacity

Working with limited pipe There are two types of messages over the air: – Acknowledgement required – No ack required I changed neighbor information message type to improve soft handoff success. Resulted in more handoff failures, since actual handoff processing related messages could not get through.

BSC crashes Unexpectedly long message or spurious content from mobiles causes buffer overrun Fixed size stack was used in OS – more local variables added over time.

Summary: Trends in SW development Code less & integrate more… More use of commercial components/libraries More use of open-source projects Small team & complex projects More acceptance of “Agile process” More automated test cases Focus on Game development & smart-phone applications

Summary: Software career Software will continue to be growth area Requires you to manage your time wisely to maintain quality of life More exciting things yet to come. Put your brain and passion to work! Do not get scared by all the jargons/terms – basics are simple beneath the complex terms! Try to enjoy the job & live a balanced life. Keep emotions away from the job.

University of Texas at Dallas Erik Jonsson School of Engineering and Computer Science Surrounded by 1000s of companies in Dallas- Fort Worth metroplex Students can get internships right after 2 semesters and continue studies in parallel. Most graduate students “graduate debt-free”! We have well-ranked management school too.

Dallas-Ft. Worth metroplex

Indian connection! More than >50% CS faculty are Indian. Around 60% of graduate students are Indian. Management school is named after an Indian: Naveen Jindal School of Management!

40 ________________________________________________________________________ Department of Computer Science Jonsson School of Engineering and Computer Science CS Department: Highlights The UTD CS dept started as a small program within the Mathematical Sciences in the 70s One of the largest CS dept’s in the US today 55 faculty members 120+ Research and Teaching Assistants 15 Staff members including 4 Tech. Support Students (130 Ph.D MS +720 BS) Full range of programs in CS, SE and TE: -- BS, MS and Ph.D.

41 ________________________________________________________________________ Department of Computer Science Jonsson School of Engineering and Computer Science CS Department: Research Centers/Institutes  Cyber Security and Emergency Preparedness Institute (DFEPI) (Exec. Director: Dr. Doug Harris) - Cyber Security Research Center (Director: Dr. Thuraisingham)  Embedded Software Center (ESC) (Director: Dr. Farokh Bastani)  Human Language Technology Research Institute (HLTRI) (Director: Dr. Sanda Harabagiu)

42 ________________________________________________________________________ Department of Computer Science Jonsson School of Engineering and Computer Science CS Department: Accomplishments Ranked 29 th in UC Irvine’s publications ranking of CS graduate programs Ranked 24 th worldwide in UC Irvine’s publications ranking of SE graduate programs 8 of our faculty hold Young Investigator awards Top 5 producer of CS degrees Placed 14 th worldwide in ACM Programming Competition (just behind MIT & CalTech in US)

43 ________________________________________________________________________ Department of Computer Science Jonsson School of Engineering and Computer Science CS Department: Distinguished Faculty Over 55 memberships on editorial boards of computer science journals Research expenditure over $16 million in last two years Published 250+ papers last year Involved in numerous leading technical conferences as conference chairs or program committee chairs/members

Questions & Answers

Thanks for attending! Dr. Jeyakesavan Veerasamy