I've already gotten my BS in Computer Information Systems. I have a full-time developer job and my company is willing to pay for more training if it will help me do my job better. My main development environment is Visual Studio 2003, 2005 and I mostly develop in C# .NET. I have been as this job for more than a year so I don't have years of experience. What kind of training will prove to be worthwhile? I've read a lot that certifications are becoming less and less important to companies. Are developer conferences good to attend? I've never been to one. Does any one have any other suggestions?
Colin has good suggestions and I'd follow them. Do also keep up on the latest new, emerging technologies, learn how to use them, and make yourself marketable
Are developer conferences good to attend? I've never been to one.
I went to the VS2008 product launch from Microsoft in April and learned quite a bit about SQL Server 2008, and it was worth my while. Keep an eye out for events like this, some are free, which is cool.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
"Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
Hi. I would like to find a VB.Net job board, hopefully run by developers instead of recruiters I was dissapointed when I saw how few jobs were posted on this site. CodeProject is my favorite VB.Net site, I usually look here first for programming solutions.. Is there a VBJobProject??
To listen to the techies, any IT manager ought to have deep technical knowledge about everything in the knowledge domain, whether it's network performance or code optimization. Or so the prevailing wisdom goes. When push comes to shove, though, your techies would far prefer that you fine-tune your management skills than compete with them on technical know-how.
Well, you should gain a good grounding in the basics of programming. You will need to choose a language/area to learn, and try to pick up as much as possible about it. Read a lot. Try a lot of examples and read a lot more. A good education is a really good idea. With the advent of the internet, there is more opportunity for you to contribute to open source projects which are a good way to prove your coding "chops" and this helps to impress prospective employers.
Deja View - the feeling that you've seen this post before.
I'm currently working for a small business of about 18 people. The company is a sole proprietorship, and the owner works here everyday. I do a combination of software development and IT, and I am the only employee here with those responsibilities, and the skills to perform them.
As you might expect, the owner and the manager know very little about development and IT. Even so, I am given very little latitude in which to do my job. The owner is especially hostile toward my solutions and ideas. However, I am generally held responsible for when things fail, even if I have specifically forewarned him of an issue that needed attention.
Is this typical of small businesses? How do you deal with bosses (or clients) who want to either micro-manage every aspect of what you do, even when they don't understand it, or ask you for results while vetoing your proposals?
As an example, I have to develop our internal software. It is a poorly designed mess of Access and VBA code, both from a business and programmer perspective. Whenever I am requested to make a change, I am never presented with the goal or problem. I am never given requirements for changes. Instead I am told what changes to implement, on the order of "add three new buttons, one green, one red, one blue!". They never seem to want to talk about what they are trying to accomplish, and get frustrated with me when I try to understand the "big picture". Often, what they suggest isn't even a viable solution.
How can I get them onto a more reasonable development model, where they present me with requirements or the business problem they are looking to solve, and I come up with the best solution, that works with our data?
One the one hand, I feel like I am paid to do what they ask me to do, but on the other hand, I feel like, as their DBA, I am also responsible for the data, and as their developer, responsible that their software function properly.
I doubt it's an issue of trust -- I have keys and full physical access to the property 24/7. They also understand that I have full access to and control of their data, even confidential data, and why I need it. They trust that I don't snoop through private records, even though I have the ability to. This is pretty usual for System Administrators.
From what I understand, this is not an uncommon small business situation. How do others deal with it?
I have worked for small companies before. There are a couple of things to get out of the way first, in my opinion.
Are you really happy there?
My experience is that you can't make them or get them to change their minds or influence there ability to make the correct decision for any number of reasons namely they think they're right all the time. This sounds like a very controling environment. I wouldn't try and convince them. They have to want to change and mean it and that's the big part. Without that part it's pointless to try. You'll be fighting an uphill battle with no reason to.
If you're not happy, which it sounds like you're not, I'd update my resume and start looking.
I really do like working here. It's a very comfortable environment, almost familial. On a personal level, it's a great job. My frustration is mostly on a professional level -- and while it still happens sometimes, I try not to let the work frustrations spill over into personal frustrations. I understand they're doing what they think is best for the business, and try not to take it personally. Sometimes it happens, though.
I feel comfortable doing the technical stuff, but I feel very inexperienced dealing with management/clients. I was mostly wondering how do others deal with it? I might just be going about things entirely the wrong way. I can find a million code samples, but I can't find much on the communication side of development.
This sounds like you're dealing with a bad case of Not Invented Here syndrome combined with a heavy emotional investment in the current systems. On one hand you're faced with the fact that company's aren't interested in rewriting code if what they've got currently works. On the other hand, you have a situation where the current codebase is becoming increasingly unweildy.
I'm not going to give you advice. Ultimately, this is your problem and you have to decide what you need to do. I suspect that you already know what you want to do, and what you are looking for is external validation of your opinion. Bottom line - it's up to you how you deal with this; whether you talk to the owner to try to understand his hostility or you walk - this is your decision and your decision alone.
Deja View - the feeling that you've seen this post before.
Thanks for your straightforward reply, Pete! I really appreciate that.
I know when most people ask for advice, they are just looking for validation. I really don't know what I want to do. I'd like to try to find a way to work this out. I was more looking for tips on people skills -- something computer guys aren't always so good at. If you're freelance, how do you deal with difficult or stubborn clients? How do you handle clueless managers? Is the grass going to be any greener on the other side, or is this just one of the things you have to learn to deal with as a developer?
In the end, there may be no resolution. But I admit that I feel very inexperienced as far as dealing with business-people who are trying to get software designed. I was hoping to pull from the experience of others here. I feel completely comfortable doing the development, but it's the "people" side of things that's got my stymied. The software is the easy part, but the communication, now that's something they don't teach you!
was more looking for tips on people skills -- something computer guys aren't always so good at
I'm on the other side. I'm the business owner.
Ok - I'm going to do what I said I wouldn't and give you some advice. You need to speak to the owner and find out why he's hostile to change. It could be that he's not aware of what you can do for him - or it could be that he has a valid reason (and I suspect it'll come down to cost) why he doesn't want to reimplement things.
The only way you can move forward from this is to talk to him, and get an understanding of his opinions and reasonings. Along the way, hopefully, you'll help him to understand your position and concerns. Be prepared when you talk to him - don't be pushy or aggressive and be honest with him, and keep it friendly. Don't give him ultimatums. If he's in any way reasonable, then this could be a very productive session for both of you.
I hope this helps and good luck.
Deja View - the feeling that you've seen this post before.
Take Pete's advice, what you have brought up here is what you need to say to the management. It comes down to trust, not in your integrity but in your professional competance, do they trust you to make the right design/technical decision for the organisation. This needs to be in their face, not confronting it will only deepen you problem.
BTW be prepared to move on, management do NOT like to be confronted, especially mediocre managers but if you don't do it the problem will grind your creative abilities to nothing (one of the saddest things to see). I have been in this exact position, it is the only contract from which I have been sacked in 15 years of contracting.
Never underestimate the power of human stupidity
i've had to deal with people like that...still do on occasion, when you tell them you cant do x or shouldnt, have good reasons, not just tech reasons(non tech people wont care), but business reasons(they care), one "discussion" i had was about poorly designed navigation on a site i was building, and this other guy was in charge of it not my normal boss, so when i told him we can do it that way he kept asking why and i told him its bad design, since he designed it he took it personally, so i changed tacts. and i told him it would hurt business(probably not but hey) and that if you changed the navigation on each page, no one would be able to find their way around hell i got lost and i was the one building it, and if noone could find their way around no one would use it, therefore no one would use the site for more than a minute, etc... it went on for while but he finally saw light and let me do the navigation correctly. luckily for me my normal boss is a dev and understands this kinda stuff.
if/when you talk to them now or in the future about changes get what they want, the probably wont know, go away and think about it, then come back with issues and put them in terms they can understand, if the code base is getting large and hard to maintain, tell them that unless you get a chance to fix it(costs money now) it will take you longer and longer to do things, the system will run slower, and more and more bugs have a chance to creep in(costs money later). most business people understand the time value of money. and they may let you do it, it ususally helps if they want some big change you can use that to help push your other ideas. and at some piont you may have to use the "this is what you hired me to do" line, or something like it..but thats a last resort.
hope any of that helps, i had to learn all that the hard way around here, i had a partner who is a tech guy backing me most of the time, and i've learnd some of it from him. you may have a tougher go of it.
Please remember to rate helpful or unhelpful answers, it lets us and people reading the forums know if our answers are any good.
I'm in charge of the IT and programming department of the company I work for.
Usually, when I have people working in my department I understand that they can give good ideas and ways to improve things... if they are capable to demonstrate their methods are better I'm glad to adopt them.
I don't tend to micro-manage everything, at the beginning I give them a small book on "how to do things" and then I put them on the pressure of making a small exam that ask them to solve the typical problems they will face working here and that takes more than one week to be done. After that they usually understand why we are solving those problems in that way and sometimes (not usually) they have given us fresh ways to look at the same issues.
Then the general management usually tries to reduce costs and yadda, yadda..., but this is another issue and this is not affecting the people in the IT department at all as I act as a filter here.
I guess everything depends on costs (important always), who is listening and the open minded they are...
Regarding access and the kind of problems they are proposing you I would expose it in this way:
1. There are free databases out there that work better and more reliable than access.
--- put some comparison charts here (they always help).
2. It would be faster to use.
3. Given what you want to receive from your data I could create it in a better way, easier to maintain, better documented...
Changing technologies/languages/methods is never easy and most of times we (managers) tend to stick to what we know. It is not easy to change minds of closed-mind people, but giving good arguments and showing them benefits should be enough to get at least their attention.
This is a part from my CV:
I will submit my full CV upon your request
my email is: developpeurdelogiciel AT gmail dot com
DOT.NET Developer position in growth-oriented company offering opportunity for professional and career development.
SUMMARY OF QUALIFICATION
• Master Degree in Computer Science and Software Development.
• Certified .NET Developer with 6 years of DOT.NET experience and 9 years of total IT experience including international experience
• Project Management and Business Analysis skills and experience
• 5 years of Oracle experience (including 2 years of Oracle administration experience) and more than 5 years of MS SQL Server experience.
• General knowledge of financial sphere (including financial operations: SWAP, Currency SWAP, Forward; the work of the financial markets: Stock market, futures, Forex, etc.), risks assessment, etc.
• Excellent knowledge of full software life cycle process and hands on expertise of using Agile methodology.
MCP 70-316: Developing and Implementing Windows-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET (Candidate ID: 3636879)
MCP 70-315: Developing and Implementing Web-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET (Candidate ID: 3636879)
ISEB Certificate in Requirements Engineering
1994-1999 Orenburg State University, Master Degree in Computer Science and Information Technologies
1998-1999 Institute of Innovations as the Manager of innovative projects
2006 Software Project Management course, delivered by Colin Benton with Neueda Technology
2006 Business Analysis & Requirements Engineering
OPERATING SYSTEMS: Windows 2000/XP/2003, Unix: Solaris 9, AIX, Linux
TECHNOLOGIES: OOP, UML (Unified Modeling Language), .NET, ADO.NET, Windows Services, Web Services, .NET Remoting, COM, OnceClick, MSMQ
INTERNET TECHNOLOGIES: ASP.NET, ASP, CSS
RDBMS: Microsoft SQL Server 2000/2005, Oracle 8i/9i, MS Access
IDE: MS Visual Studio.NET 2005/2008 (Visual Basic.NET, C# (CSharp), ASP.NET)
LIBRARIES: MS Enterprise Library 2006
TOOLS: Visio (UML, etc), MS Wise, IBM Rational Rose 7.0.0, Toad, PL/SQL Developer, Quest Central, MS SourceSafe, MS Foundation Server, Crystal Report.
PM TOOLS: Microsoft Project, Project Risk, Project Expert, Construx Estimate.
PROJECT MANAGEMENT SKILLS: Estimating the scope and work that needs to be performed, Development mechanisms to acquire identified products, Developing a Project Plan, Getting commitments to the plan, Working with suppliers to acquire identified products, Monitoring progress against the plan, Identifying and analyzing risks, Taking action to address significant deviations from the plan, Taking action to appropriately mitigate risks.
BUSINESS ANALYSIS SKILLS: MOST, Recourse Audit, CATWOE, PESTLE, 5-Forces, SWOT, CSF, KPI, PID, Business Activity Modeling, Data Flow Diagrams, The cause & effect Diagram (fishbone), Requirements engineering, Requirements Development & Management, Requirements Elicitation Techniques.
FINANCIAL SKILLS: General knowledge of financial sphere, the work of the financial markets(stock market, futures, forex), rate of discount, risks assessment, stock exchange orders, futures, options, obligations, stocks, financial and trading indexes, common strategies used in trading, financial operations: SWAP, Currency SWAP, Forward, etc.
English, French, Spanish, Russian