Apologies for the long post, but there is a more directed question at the end of the slightly rambling background.
In September, I started working for an offshoot of another company, but since then, our IT departments are merging, and the cultures are completely different. In our office, established for just over a year there's me with bags of commercial IT experience, plus a guy with a PhD in aeronautical engineering, excellent dev & very quick on the uptake working with C# & SQL where possible.
In the other office they have been established over 10 years and the IT is doing the job the company needs, but there are no good practices.
Some examples :-
Virtually all development is in Python, which is run as a mass of scheduled tasks. There is one particular task that runs around lunchtime to pick up all the submissions from the previous day, and another to pick up the same class of thing to mop up what has come in today runs at around 5pm. Each is a separate python script with a couple of classes declared at the top (which are declared in virtually every script I have seen), followed by around 1000 lines of code mixing in database access, processing logic & composition of output XML in a single block of code with nothing split out for readability. The two scripts differ in four lines - they don't appear to have heard of parameters.
Also, they don't appear to have heard of stored procedures; I have seen scripts where, to get nested information, they run an inline query to get a set of data, then walk the set in Python & fire a separate query to get related information for each row.
Did I mention that they have no form of source control?
I really need to change the culture in the other office (I do have my boss's support in this). I started by going in there & demonstrating a bit of separation of concerns using classes in Python and unit testing, then leaving a copy of Clean Code with the guy who seems to be the main trusted developer who people look to for advice, but it sat on his desk unopened for 2 weeks.
On the plus side, a young guy (just 18, left school at 16, started in the warehouse & moved into development purely because he showed an interest in it) emailed me to say he hoped it was OK that he had taken the book home at the weekend to read, and is picking up C# with remote assistance from me. He's mega-keen & will probably make an excellent developer. There are other developers who also seem willing to learn, and they have all said that that the guru is very set in his ways.
So, any ideas on how I can start moving them towards learning sensible IT practices as a matter of course? I feel the main obstacle is the guru chap, but he has the trust of his non-technical superiors, so technical explanations may be wasted on them.
One possible light is that we will be examining the code of a product developed by a third party, written in VS Code C# - I'm hoping it will open their eyes to the possibilities, though I'm not looking forward to explaining <t> notation to Python devs, should it arise.
First, the bad news. Without support from Management, changing the culture is impossible.
Having said that, incremental changes are possible. For example, start with things that have obvious benefits, like a version control system. Emphasise the benefits - rollback abilities, change tracking, etc. Then, continue to other tools. Introducing new (to them) ideas such as stored procedures should be postponed until you have built up some credibility with Management in the new company.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
My career journey is as : Started at 2006 in a reputed MNC as a fresher and have worked on C# .net for 2.5 years then gone for sabatical due to personal issues and then resigned the company after 2 years. Hence, worked for 2 yrs but have Service Certificate for almost 5 yrs. Then i have got job in another MNC and joined as .net developer , but the thing is i haven't enjoyed the dev lifecycle and much coding part. Hence, learned SAP BO and shifted career to SAP with certification in BO , but in new company was moved into support project where i was very comfortable for the last 7 years into data ware housing support project that involves very low level of SQL knowledge along with low level informatica knowledge along with Reporting. Now my total exp is around 12 years and i feel like an impostor with that many years of experience and no grip on any one technology. Since all current projects are moving to BIG DATA , started learning BIG Data (Hadoop exactly ) and identified that it requires either Java or Python programming knowledge and i feel like am not up to it or either data analytics statistics etc.,
while researching observed that SAP HANA also has interesting insights to it.Since, i dont want to go programming side , please let me know how good it is to consider HANA as next career path and will these open sources will SAP related technologies survive and will be in demand?
If any other technologies considering DWH , DB background that can be considered, pls share.
<pre>My name is Macarena and I want to start with the programming it catches my attention, but I need a good notebook, since mine is very old and I do not know what kind of laptop I need, can you help me please?
We are a setup of 2000 machines and dealing with challenges in Inventory, agent coverage and reports which are never consistent. Support team has to get manual inventory or manually install agents.
We have Symantec DLP agents and System center configuration manager (SCCM) agents deployed to all the client machines (PCs) through group policy.
We allocate machine to a user who roams along with user for his time with the company, when he changes his project or Team. Host name stays the same but IP address changes to his current projects VLAN. Which as per me has downsides –
1. Inventory records change. Machine IP address change that may cause agents to misbehave.
2. Machine has to physically be moved to other project.
3. Machine has to be rebuilt as per the allocated projects development environment which consumes time for both person waiting to get started for that project and support person who ensures system readiness.
4. Support members have to frequently do physical verification , install agents on machines that for reasons are not reachable or update them.
My query is what is the recommended practice widely followed by different enterprises. To allocate machine to user or allocate machine to project so that the machine stays with the same project which as per me has following advantages –
1. Inventory is mostly consistent as we always know hosts allocated to a project.
2. Developer environment is always as per the projects requirement.
3. A user allocated to the project can immediately continue with his work.
Our IT Management has long been following practice of allocating machine to users and not projects and these challenges are bothering us a lot. I am seeking opinion what is the practice followed by most enterprise setups and is recommended as preferred practice.
I am considering doing a coding bootcamp and getting a job as a web developer after that. However, I am not sure I can commit to web development for a career. I may be pursuing something else 1.5 - 2 years after the coding bootcamp. Do you think it would still be possible to get a web development job even though I may not be able to commit to it as a career? Will employers ask about the future in interviews or is demand high enough that I can still secure something?
I'm not sure how about the USA but here in Ukraine all those big words like "commit my future to web development" are just HR bullshit nobody pays attention to (except of HRs of course). What everyone cares is your skills to your salary demands ratio.
As for me throughout my 6 years of career, I've never switched to positions where technologies matched with my current skill set and it's perfectly normal for a developer as IT is an ever-evolving field.
Hope that helps
The first thing you need to do is find out what jobs are available in your location. There is no point aiming for a web developer role if all the local companies are looking for database designers. You also need to consider what levels of experiences they want. Bootcamps are fine as a starting point but are any intern jobs available?
On my decision, C++ is a mind-blowing programming tongue for an item build. It has multi-dimensional focal points. It is the most 'open' lingo, in any occasion as I might want to think. It's Dissent Arranged thoughts of composing PC programs is mind-boggling. It may show up fairly questionable if you are a student anyway it is a magnificent choice if you really need to wind up an item originator, site or application analyzer or in case you needs to make an application in solitude. This will assemble your knowledge about programming and what's more about the system and its diverse setups.
You can in like manner consider learning Android Studio(only after you learned C++) if you are possessed with Android stage and needs to diagram an application for Android.
This might seem kinda off topic but I'm very concerned about this. I'm storing serialized objects in binary files as a data to load, there will be a lot of these files and I'm afraid that it might get corrupt because I want these files for a very looong time.
1. There is no way I can prevent it?
2. If you don't use/interact a file there is a high chance of getting it corrupted?
3. Will the file get corrupted depending on its weight like if its 1 gb or more?
4. What is the best way to store/keep my data clean for long time usage?
5. I know there is a huge chance of files getting corrupted if a windows crash occurs while I'm saving it. But what about like after the file is saved and if a windows crash occurs? will the file still corrupt?
PS: My english sucks, hope you had a fun time reading it!
Hello, I hope I'm posting in a place that is ok with discussion and not just question/answer. I know my question will receive some opinionated responses but not necessarily and regardless, it is something I really would like to ask people who are already working in the field.
I got into a developer's position a few years ago and it has been quite stressful for me. I feel I'm an intelligent person, I like technology, video games, programming etc. I have a passion for programming although sometimes I find it fading but I try to remain optimistic.
When I was interviewed for this position I made no effort to oversell myself. I was very upfront and honest about what I knew and didn't know. I provided code examples of what I had worked on and took a test that was assigned to me all before being hired. The position was supposed to be more of an entry level position.
At first I was really excited. So happy to finally be a developer. I wanted to learn as much as I could. I didn't necessarily want to stay with the company but I was happy to have got the position and wanted to learn all I could while I was here.
Problems soon arose and it's from these problems that I'm trying to get some insight into the industry to see what the job life is like for programmers outside of my little world/company.
The company I work for is a fortune 500 company, they are huge, all over the place, international, they're everywhere and you know them I promise, I prefer not to say though for privacy reasons. That being said, I was happy to get into this "entry level" programming position in this huge company cause I knew it would be a great learning experience.
I soon found out that I was being relied upon quite heavily and with very little guidance. My position, although I'm required to be in an office location, is virtual. Meaning, every programmer is at a different location, including my supervisors and management, and some (especially management) work from home.
One of my pet peeves is that, although I have a company laptop, and there's little to no collaboration taking place, I can't work from home myself, I have to carry my laptop with me and plug it in at the office I work at. While this irritates me alot, I can totally cope with this if the rest were ok.
My biggest gripe is the lack of collaboration, guidance, communication, and give a *@!$. I am given projects, with little to no background information, most the time via email, and that is it. I am told to ask questions if I have any. The majority of the time, my entire time spent here is one big question.
I'm trying to figure out, is this how it is where everyone works? Is it normal to hire entry level programmers, provide them with little to no guidance/training, and just assign them tasks to see if they'll still have their hair by the time it's all said and done?
This is something I'm really honestly curious about. I've been doing this for about 3 years now. I've learned things and manage to complete all of my projects on time but it's the process and the way things are managed that drive me nuts.
There are also long periods of time where I won't be assigned anything. I'm virtual so I come into an office that has nothing to do with me and sit. Sitting and waiting has been a large majority of my duties. My work life is a bit of a roller coaster. There's a very slow incline and then I'll get a project with no information or guidance and then it's a steep drop till I reach the end...
Half the time I feel it's just me, the rest I feel that it's just this place. That is why I'm on here to get an idea of what a programmer's daily job life is like.
Do you often find yourself with no resources or feel like you're kind of just there lol... I laugh but this has been the strangest and not so funny situation I have ever been in.
I also find patterns among people, ways of thinking among management. Things seem to be severely lacking. My idea is that the grass is greener on the other side but I'd like to hear from you all to see if that truly is the case or if I just need to suck it up and enjoy it somehow.
To give you an example, I was given a C# project recently, as I have many times in the past. I'm fine programming and figuring stuff out, I enjoy it, but there are times you just want to ask someone a question.
The person that was working on this C# project is no longer with us and I just found out I'm pretty much the only one that has any experience at all with C#... So me, an entry level programmer that had hoped this position would be a great learning experience is now more of a dreaded daily nightmare...
I do my best to accept and deal with the situations at hand and try not to panic but it can be hard at times. My thing is, why does it have to be like this and is it like this everywhere?
I'm not a dumb person, all I need half the time are some simple questions answered but I can't rely at all on the group I work for and it seems like they simply expect me to be Albert Einstein or something.
Then there's the guilt I feel for not knowing or feeling like I can't complete a task that gets assigned to me and fear of failure... It's just ridiculous.
Just to elaborate on the sitting and waiting. There are times I'll be assigned something, complete it, and I don't hear from anyone about anything for days or weeks. This feels like a giant waste of my time and I know it is.
Sometimes I won't be assigned anything at all so I'll email my supervisor and just say "Hey if I can help with anything let me know" and I may or may not hear back for who knows how long. I kind of stopped doing this though because now, I kind of enjoy not having anything to work on cause it tends to be stressful when I do.
My next steps are dealing with this a bit longer and spending my free time doing some coding of my own, brushing up my skills, and finding a new job. This is another reason why I ask this question because I want to hear what I may be getting myself into.
If you've read all of this thank you and if you have anything to share please do.
First of all, I know it's a bit late, but welcome to the community. Know that your experience is not unique, is not even rare, but is generally par for the course. There are very serious pluses and minuses to being a dev, but let's talk about something else first: soft skills.
By and large developers tend to regard logic, efficiency, and technical ability as positive traits. This is not the case with people in the lion's share of other disciplines, and over time this leads to many devs being a bit more reclusive and less invested in the work of others; to the point where the caginess of programmers is pretty much a stereotype. Now, this caginess is not reserved for "outsiders", but rather anyone that does not meet each individual's bar for competence. This is the first primary contributing factor in the response that you've received, and don't be so self-centered as to assume that how people interact with you has everything (or anything) to do with you.
Now to where my own caginess might show: the things that you're complaining about are actually the job. Yeah, writing code is nice and all, but it's not the hard part of the job. Expressing yourself in code is a baseline, and every knowledge domain is different, so each new project will, largely, throw you right back into a pit of not knowing what's going on, not having a foundation in the subject matter, or generally not being sure of where to immediately go. This is entirely the reason we have an SDLC and why the things that may not have seemed terribly important in school are very important in practice.
You're also not expected to know everything, despite how it might feel at the moment, but you are expected to be able to figure things out that are in the knowledge domain of the company that you work for. You are expected to understand some patterns and practices when it comes specifically to engineering, but that's part of the trade. Never, ever, play "smart" when you're lost: questions are invaluable, ask them!
Learn to provide realistic estimates (the Scotty rule can help...) so that you don't always feel under the gun. Sharpen your research skills; Google is the ultimate expression of RTFM, and being able to read up on APIs or even check source on GitHub is a gigantic leg up. Utilize it without shame or fear.
When you don't have a current project, experiment. Play with a language or technology. Look for holes that you can plug. Make a space for yourself within the organization.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
I'm unsure if I understood everything correctly. Is the following correct:
1. A Text encrypted with PRIVATE_KEY can be decrypted only(?) with PUBLIC_KEY
2. A Text encrypted with PUBLIC_KEY can be decrypted only with PRIVATE_KEY
Thank you very much for help and sorry if the question is stupid...
It does not solve my Problem, but it answers my question
Close. Depending on your use case, you will have a PUBLIC ENCRYPT and a PUBLIC DECRYPT key. These are completely separate key sets that are associated with PRIVATE DECRYPT and PRIVATE ENCRYPT keys respectively.
Generally, you encrypt a hash with your PRIVATE ENCRYPT key to provide a digital signature, as it can be verified using your PUBLIC DECRYPT key. For actual message encryption, your PUBLIC ENCRYPT key will be used to encrypt it so that only your PRIVATE DECRYPT key can decrypt it.
With the PKI model, you can freely hand out your public keys (or they are stored in a central repository, such as on a domain) while your private keys needs to be properly secured to prevent compromise.
"There are three kinds of lies: lies, damned lies and statistics."
- Benjamin Disraeli
Last Visit: 19-Aug-19 19:07 Last Update: 19-Aug-19 19:07