Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Words of Wisdom to new Developers.
New Posts  All Forums:Forum Nav:

Words of Wisdom to new Developers. - Page 2

post #11 of 32
Thread Starter 
Quote:
Originally Posted by Alan G View Post

Here's one I learned in my first CS class decades ago! If you have a box of punch cards, make sure you have rubber bands around all sides so when you drop it (and you will) you won't have to spend time sorting them out. Of course this wise statement no longer applies in the era of desktop computers where punch cards, paper tapes, and toggle switches are a distant memory.wink.gif

Well... its kinda true if you think about what your doing. If you are walking along with a HDD, and for some reason you drop it... welp... that's going to take you just as long, if not longer to recover your data.

So, when your transporting storage (Cards or HDD), make sure it is properly secured. Murphy's law is always in effect. You got an external drive with very important information.... don't place your Soda or Drink right next to it... don't set it on the side \ edge of your table... something is bound to happen. Last week I had to extract some videos from a crazy cool drive that had a keypad on it, where it wouldn't unlock unless you typed in the code.... I set my drink down right beside it.... i stopped for a second ... looked at the drink.... and said, "Nope" your going on the other side of the table.


More words of wisdom:
As a developer, you will run into issues where you are expected to build a solution knowing only half the details. I have to write some code to upload data to a server... I don't know if it can be a desktop app, or a web app. I don't know what browser they are using, or if i can use flash. I dont know how much data they intend to upload at a time. But, I need to come up with a solution somehow. Basically you end up doing research on all sides while waiting to hear back from them.

When I have been coding for an hour or so and finally hit the compile button.... if it compiles on the first try... I assume that I must have done something wrong.

With code, there is several ways of doing something. There is several languages you can choose from. There typically is a quick solution and the proper solution. You typically never have enough time to do the proper solution for everything. .... best you can do is just make sure that everyone knows whats up.

The further you deviate from the typical methodologies of Source Control and Project Management, the further you dig yourself into a hole. Whenever I hear, "We do scrum, but...", it never ends will for them. Another funny one was seeing a project that ended up having 100+ branches. It was depressing to hear a friend talk about how he spent a week working on a fix in this project, only to find out that someone else did the same fix on one of the other branches months ago.

The goal of a good project manager is to not surprise anyone.
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  hide details  
Reply
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  hide details  
Reply
post #12 of 32
Another word of wisdom for new developer looking for jobs. Some organization may advertise a cool sounding title and some cool technology to go with it. But when you get down to it, it is no more than managing some vendor applications, some SQL stuff but cannot lay your hands on actual code behind those applications. So, set your expectations appropriately and do your due diligence. Don't ask how I know !!
Wife's bane
(17 items)
 
  
CPUMotherboardGraphicsRAM
i5-3570K @ 4.5 Ghz Gigabyte Z77 UD3H HIS R9-290 8 GB Samsung Wonder RAM 
Hard DriveHard DriveOptical DriveCooling
Crucial SSD for OS Samsung Spinpoint F3 Asus XSPC water block, 360 radiator, and 720 reservo... 
CoolingOSMonitorKeyboard
GPU cooling - XSPC Razer full GPU blocks Win 7 Home Premium Asus PB278Q 2560 X 1440p ISP Logitech G15 
PowerCaseMouseMouse Pad
NZXT Hale90 V2 NZXT Switch 810 Logitech G500 Steelseries QcK 
Audio
Optical out to Sony receiver; Deftech Monitor 3... 
  hide details  
Reply
Wife's bane
(17 items)
 
  
CPUMotherboardGraphicsRAM
i5-3570K @ 4.5 Ghz Gigabyte Z77 UD3H HIS R9-290 8 GB Samsung Wonder RAM 
Hard DriveHard DriveOptical DriveCooling
Crucial SSD for OS Samsung Spinpoint F3 Asus XSPC water block, 360 radiator, and 720 reservo... 
CoolingOSMonitorKeyboard
GPU cooling - XSPC Razer full GPU blocks Win 7 Home Premium Asus PB278Q 2560 X 1440p ISP Logitech G15 
PowerCaseMouseMouse Pad
NZXT Hale90 V2 NZXT Switch 810 Logitech G500 Steelseries QcK 
Audio
Optical out to Sony receiver; Deftech Monitor 3... 
  hide details  
Reply
post #13 of 32
Thread Starter 
Quote:
Originally Posted by Awaz View Post

Another word of wisdom for new developer looking for jobs. Some organization may advertise a cool sounding title and some cool technology to go with it. But when you get down to it, it is no more than managing some vendor applications, some SQL stuff but cannot lay your hands on actual code behind those applications. So, set your expectations appropriately and do your due diligence. Don't ask how I know !!

For the first 6 months, I do what I was hired for. After that, it always ends up turning into a different role the group didn't realize it needed. It's not a sudden shift... just one of those things where no one else knows the build system, so I might as well figure it out. No one knows how configure TFS. No one knows the TFS test automation stuff.... No one knows how to build webpages using dojo... Everyone is bad with msbuild files.... No one understands video encoding \ transcoding, or why video streams are typically in mpeg-ts. It might be just me considering there are several other people in the team... but this is now 4 different jobs in a row that followed this exactly.
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  hide details  
Reply
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  hide details  
Reply
post #14 of 32
Quote:
Originally Posted by Awaz View Post

Another word of wisdom for new developer looking for jobs. Some organization may advertise a cool sounding title and some cool technology to go with it. But when you get down to it, it is no more than managing some vendor applications, some SQL stuff but cannot lay your hands on actual code behind those applications. So, set your expectations appropriately and do your due diligence. Don't ask how I know !!

Oh no, are you talking about that job you were applying for? I hope not!
Lightweight gamer
(11 items)
 
  
CPUMotherboardGraphicsRAM
AMD FX-8320 ASRock 960GM/U3S3 Sapphire Radeon HD 6670 Generic RAM from Ebay 
Hard DriveHard DriveHard DriveOS
Western Digital Caviar SE WD1600 Seagate Barracuda 7200.9 OCZ Vector Windows 7 Professional Edition x64 
PowerCaseMouse
Rosewill 500-watt PSU Rosewill REDBONE Logitech M215 Cordless Mouse 
  hide details  
Reply
Lightweight gamer
(11 items)
 
  
CPUMotherboardGraphicsRAM
AMD FX-8320 ASRock 960GM/U3S3 Sapphire Radeon HD 6670 Generic RAM from Ebay 
Hard DriveHard DriveHard DriveOS
Western Digital Caviar SE WD1600 Seagate Barracuda 7200.9 OCZ Vector Windows 7 Professional Edition x64 
PowerCaseMouse
Rosewill 500-watt PSU Rosewill REDBONE Logitech M215 Cordless Mouse 
  hide details  
Reply
post #15 of 32
No.. Haven't heard a peep from them yet. This was a different job.
Wife's bane
(17 items)
 
  
CPUMotherboardGraphicsRAM
i5-3570K @ 4.5 Ghz Gigabyte Z77 UD3H HIS R9-290 8 GB Samsung Wonder RAM 
Hard DriveHard DriveOptical DriveCooling
Crucial SSD for OS Samsung Spinpoint F3 Asus XSPC water block, 360 radiator, and 720 reservo... 
CoolingOSMonitorKeyboard
GPU cooling - XSPC Razer full GPU blocks Win 7 Home Premium Asus PB278Q 2560 X 1440p ISP Logitech G15 
PowerCaseMouseMouse Pad
NZXT Hale90 V2 NZXT Switch 810 Logitech G500 Steelseries QcK 
Audio
Optical out to Sony receiver; Deftech Monitor 3... 
  hide details  
Reply
Wife's bane
(17 items)
 
  
CPUMotherboardGraphicsRAM
i5-3570K @ 4.5 Ghz Gigabyte Z77 UD3H HIS R9-290 8 GB Samsung Wonder RAM 
Hard DriveHard DriveOptical DriveCooling
Crucial SSD for OS Samsung Spinpoint F3 Asus XSPC water block, 360 radiator, and 720 reservo... 
CoolingOSMonitorKeyboard
GPU cooling - XSPC Razer full GPU blocks Win 7 Home Premium Asus PB278Q 2560 X 1440p ISP Logitech G15 
PowerCaseMouseMouse Pad
NZXT Hale90 V2 NZXT Switch 810 Logitech G500 Steelseries QcK 
Audio
Optical out to Sony receiver; Deftech Monitor 3... 
  hide details  
Reply
post #16 of 32
A few from me:
  • Comment your code. Even if you are the only person maintaining it, chances are that in half a year from now you'll have forgotten what something does or why you've written it the way you did.
  • Always use some sort of revision control system, even for small projects.
  • Always take the business issues into account. It's easy to get lost on purely technical side of things and forget about the bigger picture. Time to market is generally more important than making your solution super generic, future-proof and 100% correct. Most likely no one will ever read your code to see how awesome it is, but people will asses your work on how well it solves their problems.
  • If working on larger project always have some form of issue tracking and prioritization in place, and possibly something better than excell spreadsheet. It makes everyone's live easier.
  • Learn common design patterns. It will save you hours (or months) of trial and error.
buka
(17 items)
 
  
Reply
buka
(17 items)
 
  
Reply
post #17 of 32
Quote:
Originally Posted by Algorithm View Post

Never write a class or method unless you're sure there's no solution for your needs already buried in the standard libraries for your language. I found this out the hard way several times. The one that stands out the most to me is System.Collections.BitArray in the .NET Framework. I coded my own with an array of booleans which turned out to be horribly bloated memory-wise because a boolean value takes up a whole byte in .NET.

Thanks for starting this thread MrZev, I'm probably going to be entering university for a CS degree in another year or two. I'm not a new developer as I've been coding for 4 years, but I've seen plenty of people on this forum whose skills dwarf mine. Plus I don't know that many languages, and the ones I know all follow one paradigm.

This thread is a bit old but I wanted to chime in and perhaps bump it.

I wanted to respond to this advice by adding a caveat: It is not always wrong to write your own tools--this is a great way to learn, and not knowing how to, (for example) perform binary multiplication by bitshifts might come back to haunt you when working on a system which doesn't have the functionality you require integrated. Never shy away from a learning opportunity.

An alternative case where you might want to re-write an existing utility is when you can improve upon it. This is of course a rare case for very skilled developers, but it exists nonetheless. No code is perfect and there is always room for improvement.

I do however agree, that if you are not in a learning environment, (i.e. your code is going into a product or something) and you do not understand how the tool you are replacing works to the letter, then just use it.
Fractal Fury
(9 items)
 
TJ08-e Reborn!
(12 items)
 
CPUMotherboardGraphicsRAM
i7-5930k ASRock X99m Killer AMD Radeon Fury X G-Skill Ripjaws 4 32Gb 
Hard DriveCoolingKeyboardPower
Kingston Hyper-X Predator M.2 Corsair H100i GTX Ducky Shine III (MX Blue) EVGA Supernova 750 G2 
Case
Fractal Node 804 
  hide details  
Reply
Fractal Fury
(9 items)
 
TJ08-e Reborn!
(12 items)
 
CPUMotherboardGraphicsRAM
i7-5930k ASRock X99m Killer AMD Radeon Fury X G-Skill Ripjaws 4 32Gb 
Hard DriveCoolingKeyboardPower
Kingston Hyper-X Predator M.2 Corsair H100i GTX Ducky Shine III (MX Blue) EVGA Supernova 750 G2 
Case
Fractal Node 804 
  hide details  
Reply
post #18 of 32
Thread Starter 
Even though something looks easy and is well documented, unless you have done it, don't call it easy.
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  hide details  
Reply
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  hide details  
Reply
post #19 of 32
Quote:
Originally Posted by Mrzev View Post

Even though something looks easy and is well documented, unless you have done it, don't call it easy.

Sometimes I really feel like telling this to the client-facing analysts/consultants who have estimated my work for me.
    
CPUMotherboardGraphicsRAM
i7 920 D0 MSI X58 Pro-E GTX 560 Ti 448 3x2GB G.Skill DDR3-1333 9-9-9-24 
Hard DriveHard DriveOptical DriveOS
840 Pro Caviar Black LG BD-ROM Windows 8.1 Pro x64 
MonitorMonitorKeyboardPower
Dell U2713HM Dell U2311H Turbo-Trak (Google it :D) Corsair HX-520 
CaseMouseMouse PadAudio
CM690 Mionix Avior 7000 Everglide Titan AKG K 242 HD 
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
i7 920 D0 MSI X58 Pro-E GTX 560 Ti 448 3x2GB G.Skill DDR3-1333 9-9-9-24 
Hard DriveHard DriveOptical DriveOS
840 Pro Caviar Black LG BD-ROM Windows 8.1 Pro x64 
MonitorMonitorKeyboardPower
Dell U2713HM Dell U2311H Turbo-Trak (Google it :D) Corsair HX-520 
CaseMouseMouse PadAudio
CM690 Mionix Avior 7000 Everglide Titan AKG K 242 HD 
  hide details  
Reply
post #20 of 32
Thread Starter 
Avoid adding exceptions to your software\system\processes. If you do need to make an exception, try to make it as finite as possible, little to no room for other interpretations. If need be, put someone in charge to approve the exceptions. Otherwise, people will interpret it in their favor, things will get confusing later on... you open up the floodgates to more exceptions. I just ran into a problem where an entire system was fine with using special characters, except for 1 component. So, my system that i was building around that system needs a lot of changes to accommodate for that 1 small part that they made an exception for.
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  hide details  
Reply
Zev's Comp
(15 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i5-2500K Sandy Bridge 3.3GHz GIGABYTE GA-Z68X-UD3H-B3 LGA 1155 Intel Z68 HDM... GeForce GTX 750 Ti G.SKILL Ripjaws X Series 8GB 
Hard DriveHard DriveHard DrivePower
1TB HDD 64GB SSD (Used for SRT) 500 GB. Antec BP550 Plus 550W Continuous Power ATX12V V... 
Case
COOLER MASTER ELITE 335 RC-335-KKN1-GP Black S... 
  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 › Words of Wisdom to new Developers.