Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Shocked to find out about "programming"
New Posts  All Forums:Forum Nav:

Shocked to find out about "programming"

post #1 of 12
Thread Starter 
...shocked that programming is only a small piece of the software development life cycle. I had this mindset coming into my major(I'm a freshman CS) that creating software was 90% constructing for coding. It's quite the opposite.

I already had an idea of what I wanted to do: I didn't simply want to be a code monkey but I actually wanted to be creative and the creative portion just so happens to be the most challenging. Heck, the designers(software engineers) rarely code. If there is coding to be done, they use something called CASE tools were it takes your psuedocode and gives you a shell. 30-50% of your code is already done at this point.
Po' Pimpin'
(11 items)
 
  
CPUMotherboardRAMHard Drive
i5 2500k @ stock Biostar TZ68K+ [A3] 4GB  Sandforce 1222 64GB SSD 
Optical DriveCoolingOSMonitor
LG 22x DVD-+RW  Stock Windows 7 x64 Acer S211HL 1080p 
PowerCaseMouse
600w Diablotek Linkworld Electronic Inland 
  hide details  
Reply
Po' Pimpin'
(11 items)
 
  
CPUMotherboardRAMHard Drive
i5 2500k @ stock Biostar TZ68K+ [A3] 4GB  Sandforce 1222 64GB SSD 
Optical DriveCoolingOSMonitor
LG 22x DVD-+RW  Stock Windows 7 x64 Acer S211HL 1080p 
PowerCaseMouse
600w Diablotek Linkworld Electronic Inland 
  hide details  
Reply
post #2 of 12
Unless it's a small project then the people doing the programming are rarely the ones doing the designing. The programmer's customer is generally the designer, and the designer's is the consumer. I've been lucky on the project I've been on, where the design team has been receptive to some of my ideas, some have made it into the product.
Foldatron
(17 items)
 
Mat
(10 items)
 
Work iMac
(9 items)
 
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275 
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor 
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000 
PowerCase
750W PC P&C Silencer CoolerMaster 690 
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm 
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard 
Mouse
Mac wireless mouse 
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm 
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display 
Monitor
27" Apple thunderbolt display 
  hide details  
Reply
Foldatron
(17 items)
 
Mat
(10 items)
 
Work iMac
(9 items)
 
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275 
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor 
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000 
PowerCase
750W PC P&C Silencer CoolerMaster 690 
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm 
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard 
Mouse
Mac wireless mouse 
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm 
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display 
Monitor
27" Apple thunderbolt display 
  hide details  
Reply
post #3 of 12
This isn't a representative example at all. I work in a very large body in which we all contribute code to the same large project, but it's a little like the open source model where the teams aren't tightly tied. The project is split into many subprojects, on which many small teams work with the AGILE model, which splits the subprojects further into tasks. Coordination between teams and subprojects is mostly done on a goal level. The programmers are also the designers.

The problem with this approach is all your programs need to pass a certain threshold of programming and design ability, or else it turns into an integration nightmare. If everyone designs and writes good code, it can be integrated together relatively easily.

The benefit of this approach is that you don't end up overdesigning things and thinking up designs that don't match up with reality at all, making them change much later and slowing things down significantly.

Another benefit is shared responsibility - you don't feel like you're just writing code, so you're more likely to work harder. Also, there are many minds examining pieces of the code and design that work together at all times, so problems are quickly found.

If problems are found, because of how tasks are divided, it's relatively easy to resolve them and make changes - there are few dependencies on other parties, and it's programmer-to-programmer. Since the design isn't set in stone anywhere, you only have to convince one other person that there's something wrong and things change, no crazy paperwork involve.

Unfortunately, this model exists mostly only in smaller companies. Google also follows it (at least in some regions), and many game companies do as well.
Akiyama Mio
(13 items)
 
  
CPUMotherboardGraphicsRAM
E6420 @ stock, 0.98v Asus P5N-E SLI Gainward GTX 460 1GB @ 800/1600/1900 2x2GB Kingston @ 800MHz 5-5-5-15 2T 
Hard DriveOptical DriveOSMonitor
WD 250GB, 320GB SATA/3, 16MB Cache, Seagate 1TB LG GSA-H62N 18x SATA Ubuntu 9.10 x86 & Win7 x86 Asus VW222U 
KeyboardPowerCase
Logitech Classic Corsair 650HX NZXT Apollo Black 
  hide details  
Reply
Akiyama Mio
(13 items)
 
  
CPUMotherboardGraphicsRAM
E6420 @ stock, 0.98v Asus P5N-E SLI Gainward GTX 460 1GB @ 800/1600/1900 2x2GB Kingston @ 800MHz 5-5-5-15 2T 
Hard DriveOptical DriveOSMonitor
WD 250GB, 320GB SATA/3, 16MB Cache, Seagate 1TB LG GSA-H62N 18x SATA Ubuntu 9.10 x86 & Win7 x86 Asus VW222U 
KeyboardPowerCase
Logitech Classic Corsair 650HX NZXT Apollo Black 
  hide details  
Reply
post #4 of 12
What course are you doing i want to do Software Engineering next year at uni.
post #5 of 12
Quote:
Originally Posted by Coma View Post
This isn't a representative example at all. I work in a very large body in which we all contribute code to the same large project, but it's a little like the open source model where the teams aren't tightly tied. The project is split into many subprojects, on which many small teams work with the AGILE model, which splits the subprojects further into tasks. Coordination between teams and subprojects is mostly done on a goal level. The programmers are also the designers.

The problem with this approach is all your programs need to pass a certain threshold of programming and design ability, or else it turns into an integration nightmare. If everyone designs and writes good code, it can be integrated together relatively easily.

The benefit of this approach is that you don't end up overdesigning things and thinking up designs that don't match up with reality at all, making them change much later and slowing things down significantly.

Another benefit is shared responsibility - you don't feel like you're just writing code, so you're more likely to work harder. Also, there are many minds examining pieces of the code and design that work together at all times, so problems are quickly found.

If problems are found, because of how tasks are divided, it's relatively easy to resolve them and make changes - there are few dependencies on other parties, and it's programmer-to-programmer. Since the design isn't set in stone anywhere, you only have to convince one other person that there's something wrong and things change, no crazy paperwork involve.

Unfortunately, this model exists mostly only in smaller companies. Google also follows it (at least in some regions), and many game companies do as well.
Interesting, I guess it depends on the type of software being made. I work in the video game industry. For large games they're traditionally designed from the ground up by designers (at least the main story and concepts).
Foldatron
(17 items)
 
Mat
(10 items)
 
Work iMac
(9 items)
 
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275 
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor 
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000 
PowerCase
750W PC P&C Silencer CoolerMaster 690 
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm 
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard 
Mouse
Mac wireless mouse 
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm 
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display 
Monitor
27" Apple thunderbolt display 
  hide details  
Reply
Foldatron
(17 items)
 
Mat
(10 items)
 
Work iMac
(9 items)
 
CPUMotherboardGraphicsGraphics
i7 950 EVGA x58 3-way SLI EVGA GTX 660ti GTX 275 
RAMHard DriveHard DriveHard Drive
3x2GB Corsair Dominator DDR3-1600 80GB Intel X25-M SSD 2TB WD Black 150GB WD Raptor 
Hard DriveOSMonitorKeyboard
2x 150GB WD V-raptor in RAID0 Win7 Home 64-bit OEM 55" LED 120hz 1080p Vizio MS Natural Ergonomic Keyboard 4000 
PowerCase
750W PC P&C Silencer CoolerMaster 690 
CPUGraphicsRAMHard Drive
Intel Core i5 2500S AMD 6770M 8GB (2x4GB) at 1333Mhz 1TB, 7200 rpm 
Optical DriveOSMonitorKeyboard
LG 8X Dual-Layer "SuperDrive" OS X Lion 27" iMac screen Mac wireless keyboard 
Mouse
Mac wireless mouse 
CPUGraphicsRAMHard Drive
i7-2600K AMD 6970M 1GB 16GB PC3-10600 DDR3 1TB 7200rpm 
Hard DriveOptical DriveOSMonitor
256GB SSD 8x DL "SuperDrive" OS X 10.7 Lion 27" 2560x1440 iMac display 
Monitor
27" Apple thunderbolt display 
  hide details  
Reply
post #6 of 12
All depends on size and type of the project.
buka
(17 items)
 
  
Reply
buka
(17 items)
 
  
Reply
post #7 of 12
Quote:
Originally Posted by BizzareRide View Post
...shocked that programming is only a small piece of the software development life cycle. I had this mindset coming into my major(I'm a freshman CS) that creating software was 90% constructing for coding. It's quite the opposite.

I already had an idea of what I wanted to do: I didn't simply want to be a code monkey but I actually wanted to be creative and the creative portion just so happens to be the most challenging. Heck, the designers(software engineers) rarely code. If there is coding to be done, they use something called CASE tools were it takes your psuedocode and gives you a shell. 30-50% of your code is already done at this point.
I work developing financial systems.... we build and/or support reporting, external interface, processing, calculation, and modeling software for a fixed income division. My group is 8-10 developers for a division of ~300 employees and almost $300B assets under management.

Defining requirements, providing specifications, designing architecture, and writing up documentation are the most important components of a software developer's job. The actual coding for the most part is just the routine work. Figuring out what exactly is needed and how to get there takes up waaaaaay more time. It takes experience to get it right. Once you get it right at the beginning, coding is easy.


I don't believe most shops use CASE. Smaller or more dynamic groups cannot use that approach.
Edited by DuckieHo - 10/7/11 at 6:46am
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
post #8 of 12
All come down to what type of project, resources you have, whether it needs integration with third party vendor/products/system etc. You will have lot ‘funs’ if one team/group get stuck on one of stages such change management, bugs tracking, integration testing, and deployment etc.
post #9 of 12
Quote:
Originally Posted by DuckieHo View Post
-snip-

Defining requirements, providing specifications, designing architecture, and writing up documentation are the most important components of a software developer's job. The actual coding for the most part is just the routine work. Figuring out what exactly is needed and how to get there takes up waaaaaay more time. It takes experience to get it right. Once you get it right at the beginning, coding is easy.

-snip-
This is definitely true! Requirements gathering, and functional, non-functional requirements can take months and months in a project. The best way to think about it is to spend the majority of the time planning and defining the scope of the software/project and then the actual coding and implementation is alot easier. Failing to plan is planning to fail.
Big Black v2.0
(15 items)
 
  
CPUMotherboardGraphicsRAM
5820k Asus X99 Sabertooth Asus 980Ti Strix 32gb Corsair LPX 2800MHz DDR4 
Hard DriveCoolingOSMonitor
PNY 480GB SSD  Alphacool NexXxoS UT60 280 custom loop Windows 10 Pro Samsung JU6500 4k 
MonitorPowerCase
Dell U3011 Corsair HX-1000 Corsair 780T 
  hide details  
Reply
Big Black v2.0
(15 items)
 
  
CPUMotherboardGraphicsRAM
5820k Asus X99 Sabertooth Asus 980Ti Strix 32gb Corsair LPX 2800MHz DDR4 
Hard DriveCoolingOSMonitor
PNY 480GB SSD  Alphacool NexXxoS UT60 280 custom loop Windows 10 Pro Samsung JU6500 4k 
MonitorPowerCase
Dell U3011 Corsair HX-1000 Corsair 780T 
  hide details  
Reply
post #10 of 12
lucky me, i just get to design the user interface
rwar
(15 items)
 
  
CPUMotherboardGraphicsHard Drive
3930k Asus ROG 680 FTW+ SSD 
CoolingMonitorPowerCase
H100 dell u3011 850w Silverston t something 
  hide details  
Reply
rwar
(15 items)
 
  
CPUMotherboardGraphicsHard Drive
3930k Asus ROG 680 FTW+ SSD 
CoolingMonitorPowerCase
H100 dell u3011 850w Silverston t something 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Shocked to find out about "programming"